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++ 中,你可以这样做:

gcc -g -o my_program my_program.c

g++ -g -o my_program my_program.cpp

2. 检查构建系统配置

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

对于 Makefile:

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

CFLAGS += -g

对于 CMake:

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

set(CMAKE_BUILD_TYPE Debug)

3. 检查 VSCode 设置

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

示例 tasks.json:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "type": "shell",
            "command": "gcc",
            "args": [
                "-g", 
                "-o", 
                "${workspaceFolder}/hi_appm", 
                "${workspaceFolder}/hi_appm.c"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "problemMatcher": ["$gcc"]
        }
    ]
}

示例 launch.json:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/hi_appm",
            "args": [],
            "stopAtEntry": false,
            // 注意这里是否有合适的路径指定到 gdb 调试工具。
            ...
        }
    ]
}

4. 清理并重建项目

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

总结

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


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

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

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

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

联系我们

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

微信号:3007537140

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

关注我们
x

注册

已经有帐号?