ZBLOG

(No debugging symbols found in target:/tmp/hi_appm)

出现 “No debugging symbols found in target” 的错误提示,通常意味着在编译过程中没有生成调试符号,这会导致 GDB(GNU Debugger)无法进行有效的调试。以下是解决该问题的一些步骤:

1. 确保编译时添加了调试选项

在编译你的 C 或 C++ 程序时,确保使用 -g 选项来生成调试信息。例如,在 GCC 或 G++ 中,你可以这样做:

  1. gcc -g -o my_program my_program.c

  1. g++ -g -o my_program my_program.cpp

2. 检查构建系统配置

如果你使用的是 Makefile、CMake 或其他构建系统,请确保在相应的配置文件中包含 -g 选项。

对于 Makefile:

确保在 CFLAGS 或 CXXFLAGS 中添加了 -g

  1. CFLAGS += -g

对于 CMake:

可以在 CMakeLists.txt 文件中设置:

  1. set(CMAKE_BUILD_TYPE Debug)

3. 检查 VSCode 设置

如果你使用 VSCode 编写代码和调试,检查你的 tasks.json 和 launch.json 文件,确保它们包括了正确的编译和调试设置。

示例 tasks.json:

  1. {
  2. "version": "2.0.0",
  3. "tasks": [
  4. {
  5. "label": "build",
  6. "type": "shell",
  7. "command": "gcc",
  8. "args": [
  9. "-g",
  10. "-o",
  11. "${workspaceFolder}/hi_appm",
  12. "${workspaceFolder}/hi_appm.c"
  13. ],
  14. "group": {
  15. "kind": "build",
  16. "isDefault": true
  17. },
  18. "problemMatcher": ["$gcc"]
  19. }
  20. ]
  21. }

示例 launch.json:

  1. {
  2. "version": "0.2.0",
  3. "configurations": [
  4. {
  5. "name": "(gdb) Launch",
  6. "type": "cppdbg",
  7. "request": "launch",
  8. "program": "${workspaceFolder}/hi_appm",
  9. "args": [],
  10. "stopAtEntry": false,
  11. // 注意这里是否有合适的路径指定到 gdb 调试工具。
  12. ...
  13. }
  14. ]
  15. }

4. 清理并重建项目

有时候,如果先前构建的对象文件不包含调试信息,你需要清理并重新构建项目。你可以手动删除生成的文件(如 .o 和可执行文件),然后重新运行构建命令。

总结

只要确保在编译时加上 -g 选项,并确认你的 IDE 或编辑器设置正确,就应该能够解决 “No debugging symbols found in target” 的问题。如果仍然遇到困难,可以查看终端或输出面板中的具体错误信息以获取更多线索。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=18682

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?