2011-11-14 46 views
2

我正在尝试为没有写在IDE中的同事测试一个程序。当我们去运行它时,出现了一些问题,我们正在努力弄清楚它是什么。编译在Code :: Blocks中,就像在命令行中一样

我明白了在Code :: Blocks中编译和运行代码(因为我们在ubuntu上运行它),所以我们可以在运行时看到它在做什么。

g++ fe_cmd_arg2_new.c -pthread K_drv_21.cc urg_drv_425.cc o_structures.c ri,cc star_cam_374.cpp com_Unit.o 

而不是在它的代码:: Blocks的编译:当你键入的代码编译。我将如何在Code :: Blocks中进行编译,就像我在命令行中一样?

+1

您确定您发布了正确的命令行指令吗?你似乎在那里有'n'个'program.cc'文件。 –

+0

它只是为了保持通用性。每个代码都是单独的一段代码。 – Tubbstosterone

+0

请发表您的*实际*指示,您尝试过度简化事情只会使其复杂化一点。泛型编程很好,不是泛型Q.您的Q是特定的,因此具体。 –

回答

1

糟糕,错过了主要问题:你将如何编译as-in代码块。这可能只是在-g中增加了构建调试符号以及可能的-O2来优化代码。但是如果你正在调试它,可能会有助于放弃优化开关。

但是除非你就能够在IDE中调试,你可以尝试gdb调试器:

  • 添加-g您编译行打造调试符号(如果你分别编译和链接然后到包括链接线的所有行)
  • 运行用gdb程序

    gdb ./a.out 
    run <command line args> 
    

UNFO幸运的是gdb是命令行且难以接近,但您应该尝试bt来打印堆栈跟踪,然后您可以print <var>转储状态等。

+0

好的,我们将尝试gdb。唯一的悬念就是我们是否成功地弄清楚如何使用所有东西。感谢您的想法! – Tubbstosterone

相关问题