debugging 代码块不会在断点处停止

sgtfey8w  于 2023-08-06  发布在  其他
关注(0)|答案(4)|浏览(181)

我试图在代码块中调试C++项目,但它不会在断点处停止。我阅读了其他答案,并尝试了以下几种方法:
1.(Build Options > Compiler SettingsProduce debugging symbols选中,strip all symbols未选中。
1.我的文件路径中没有空格/非ascii值。
1.正在运行调试版本。
1.(Settings > Compiler > Toolchain Executables)中的调试器设置为GDB/CDB Debugger:Default
1.(Settings > Debugger > GDB/CDB Debugger:Default)中的可执行路径是C:\MinGW\bin\gdb.exe
它仍然没有在断点处停止,调试器日志提到没有找到调试符号,我在这里错过了什么?

aurhwmvo

aurhwmvo1#

在试图解决这个问题时,我遇到了很多类似的问题,CodeBlocks在调试过程中忽略了断点,所以这里是我到目前为止遇到的修复方法。
1.清理和重建。
2.确保选中(Build Options > Compiler Settings)Produce debugging symbols,取消选中strip all symbols。请确保在全局设置和项目设置中完成此操作。
3.检查以确保项目文件路径中没有空格/非ASCII值。
4.检查您是否正在运行调试版本,而不是发布版本。发布版本的可执行文件将位于<project_dir>\bin\Release,而调试版本的可执行文件将位于<project_dir>\bin\Debug。
5.检查(设置>编译器>工具链可执行文件)中的调试器是否设置为GDB/CDB调试器:默认值。
6.检查(设置>调试器> GDB/CDB调试器:默认)中的可执行路径是否为有效的gdb路径,如(C:\MinGW\bin\gdb.exe)。
7.更新代码块(最后手段)。
请在评论中添加任何其他对你有用的东西。8.看看你是否有另一个MinGW,如果有,看看哪个MinGW是正确的,可以用于你的代码块。您可以通过访问设置>编译器>工具链可执行文件>编译器的安装目录来更改它们。

xmakbtuz

xmakbtuz2#

我也有这个问题,然而,这是因为很久以前我设置
设置>调试器> GDB / CDB调试器>默认>调试器初始化命令

“设置follow-fork-mode子项”
所以GDB实际上完全在调试另一个程序。

6kkfgxo0

6kkfgxo03#

唯一对我有用的是:

带空格的路径

如果放置项目的路径/文件夹包含空格或其他特殊字符,则断点无法工作。为安全起见,请使用英文字母、数字和'_'。
来源:Debugging with Code::Blocks
您也可以查看菜单:Build->Select target->Debug

qnyhuwrf

qnyhuwrf4#

对我来说,工作的事情是,删除文件main.o,这是包含在obj/Debug
希望它能帮助到某人。

相关问题