我正在尝试在Codeblocks中调试C ++项目,但它并没有在断点处停止。我读了其他答案,到目前为止尝试了以下内容:
- (
Build Options > Compiler Settings
) Produce debugging symbols
检查, strip all symbols
未经检查。
- 我的文件路径中没有空格/非ascii值。
- 运行调试版本。
- 调试器在(
Settings > Compiler > Toolchain Executables
) 设置 GDB/CDB Debugger:Default
- 可执行路径(
Settings > Debugger > GDB/CDB Debugger:Default
)是 C:\MinGW\bin\gdb.exe
。
它仍然没有在断点处停止,调试器日志提到没有找到调试符号
我在这里想念的是什么?
在尝试修复此问题时,我遇到了很多类似的问题,其中CodeBlocks在调试过程中忽略了断点,所以这是我到目前为止遇到的修复。
1.清洁和重建。
2.确保选中(构建选项>编译器设置)生成调试符号,取消选中剥离所有符号。请确保在全局设置和项目设置中完成此操作。这为我解决了这个问题。
3.检查以便项目文件路径中没有空格/非ASCII值。
4.检查您是否正在运行调试版本,而不是release。Release版本中的可执行文件将是\ bin \ Release,Debug版本中的可执行文件将位于\ bin \ Debug中。
5.检查(Settings> Compiler> Toolchain Executables)中的Debugger是否设置为GDB / CDB Debugger:Default。
6.检查(Settings> Debugger> GDB / CDB Debugger:Default)中的可执行路径是否为有效的gdb路径(C:\ MinGW \ bin \ gdb.exe)。
7.更新代码块(最后的手段)。
请添加其他适合您的评论。
我也有这个问题,但是,这是因为很久以前我已经设定了
设置>调试器> GDB / CDB调试器>默认>调试器初始化命令
至
“设置后叉模式孩子”
所以GDB实际上是在完全调试另一个程序。
唯一对我有用的东西:
带空格的路径
如果您放置项目的路径/文件夹包含空格或其他特殊字符,则断点无法工作。为了安全起见,使用英文字母,数字和'_'。
资源: 使用Code :: Blocks进行调试
您还可以检查菜单:Build-> Select target-> Debug
对我来说,有效的方法是删除文件 main.o
,包含在 obj/Debug
。
希望它可以帮到某人。