代码块不会在断点处停止

时间:2014-10-21 08:17:00

标签: c++ debugging codeblocks

我正在尝试在Codeblocks中调试C ++项目,但它并没有在断点处停止。我读了其他答案,到目前为止已尝试过以下内容:

  1. Build Options > Compiler SettingsProduce debugging symbols已选中,strip all symbols未选中。
  2. 我的文件路径中没有空格/非ascii值。
  3. 运行调试版本。
  4. Settings > Compiler > Toolchain Executables)中的调试器设置为GDB/CDB Debugger:Default
  5. Settings > Debugger > GDB/CDB Debugger:Default)中的可执行路径为C:\MinGW\bin\gdb.exe
  6. 它仍然没有在断点处停止,调试器日志提到没有找到调试符号 我在这里缺少什么?

4 个答案:

答案 0 :(得分:16)

在尝试修复此问题时,我遇到了很多类似的问题,其中CodeBlocks在调试过程中忽略了断点,所以这是我到目前为止遇到的修复。

1.清洁和重建。
2.确保选中(构建选项>编译器设置)生成调试符号,取消选中剥离所有符号。请确保在全局设置和项目设置中完成此操作。这为我解决了这个问题 3.检查项目文件路径中没有空格/非ASCII值 4.检查您是否正在运行调试版本,而不是release。Release版本中的可执行文件将是\ bin \ Release,Debug版本中的可执行文件将位于\ bin \ Debug。 5.检查(Settings> Compiler> Toolchain Executables)中的Debugger是否设置为GDB / CDB Debugger:Default。
6.检查(设置>调试器> GDB / CDB调试器:默认)中的可执行路径是否为有效的gdb路径(C:\ MinGW \ bin \ gdb.exe)。
7.更新代码块(最后的手段) 请添加其他适合您的评论。

答案 1 :(得分:3)

我也有这个问题,但是,这是因为很久以前我已经设置了

设置>调试器> GDB / CDB调试器>默认>调试器初始化命令

"设置跟随叉模式的孩子"

所以GDB实际上是在完全调试另一个程序。

答案 2 :(得分:0)

唯一对我有用的东西:

带空格的路径

如果您放置项目的路径/文件夹包含空格或其他特殊字符,则断点无法工作。为了安全起见,请使用英文字母,数字和'_'。

来源:Debugging with Code::Blocks

您还可以查看菜单:Build->选择target-> Debug

答案 3 :(得分:0)

对我来说,有效的方法是删除main.o中包含的文件obj/Debug

希望它有所帮助。