像在命令行中一样在Code::块中编译

Compile in Code::Blocks like in command line

本文关键字:Code 一样 编译 命令行      更新时间:2023-10-16

我正在尝试为同事测试一个不是在IDE中编写的程序。当我们运行它的时候,有些地方出了问题,我们花了很长时间试图找出它是什么。

我有了一个聪明的想法,在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

,而不是在Code::Blocks中编译时。我如何像在命令行上那样在Code::块中编译?

哎呀,忽略了主要问题:如何编译as-in代码块。这可能只是添加-g来构建调试符号,加上可能的-O2来优化代码。但如果你正在调试它可能会帮助离开优化开关。

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

  • -g添加到您的编译行中以构建调试符号(如果您正在编译和单独链接,则到所有行,包括链接行)
  • 使用gdb

    运行程序
    gdb ./a.out
    run <command line args>
    

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