【发布时间】:2011-03-28 12:17:15
【问题描述】:
我正在尝试在 Code::Blocks 中调试程序。我尽可能地关注this guide 和this short video,但调试器不会在断点处停止...
我看到了一个尚未解决的similar question(我不确定是否应该碰撞它或打开一个包含更多细节的新的),我确实检查了“生成调试符号 [-g]”标志。优化和“去除所有符号 [-s]”也都被禁用。我什至尝试了flag -ggdb as suggested there,也没有成功。
我正在使用 TDM-GCC 4.5.2(我刚刚升级,之前我遇到了与 4.5.1 相同的问题),调试器是 GNU gdb (GDB) 7.2(之前与 GDB 7.1 相同的问题)。我在 Windows 7 x64 上,使用 Code::Blocks SVN 7040(这是最新的夜间版本,据我所知,他们推荐它们而不是不经常更新的稳定版本)(我在 SVN 6931 中遇到了同样的问题)。
最后,我还注意到调试器抱怨缺少调试符号,这是调试器窗口中的输出:
Build succeeded
Selecting target:
Debug
Adding source dir: G:\[...]\IPCMB3\
Adding source dir: G:\[...]\IPCMB3\
Adding file: bin\Debug\IPCMB3.exe
Starting debugger:
done
Registered new type: wxString
Registered new type: STL String
Registered new type: STL Vector
Setting breakpoints
Reading symbols from G:\[...]\IPCMB3/bin/Debug/IPCMB3.exe...(no debugging symbols found)...done.
Debugger name and version: GNU gdb (GDB) 7.2
Child process PID: 6044
Program exited normally.
Debugger finished with status 0
谢谢
【问题讨论】:
-
你能在这里复制整个构建过程的命令行吗?它可能会有所帮助
-
你好,我只是搜索了 10 分钟以避免问这样一个基本问题,但没能找到:你在哪里可以找到 Code::Blocks 中的构建命令行?跨度>
-
构建命令行在底部的小窗口中。如果调试器抱怨没有符号,有两种可能性。您没有启用了“生成调试符号”,或者您确实启用了“从程序中删除所有符号”。您可以通过右键单击您的项目并选择“构建设置...”来找到两者。确保生成符号,而不是剥离符号。请务必在更改这些设置时始终进行完全重建。
-
嗯,我已经看过了,但找不到。我们都在谈论“日志和其他”窗口吗? (那是我在底部的窗口)。如果是,那么当我编译时,唯一填充的选项卡是“构建日志”和“构建消息”。它们都不包含构建命令行。例如这里的构建日志:img830.imageshack.us/img830/6076/compiledebug.png
-
进入设置->编译器调试器->全局编译器设置。在构建选项或其他设置下,您将找到“编译器日志记录”。将其设置为“完整命令行”并重建。然后在此处编辑您的帖子并发布您获得的构建日志。
标签: c++ debugging gcc codeblocks debug-symbols