qq_41110839 2021-03-11 09:44 采纳率: 0%
浏览 241

杰理SDK编译成功,用GDB调试器无法调试

拿了一个杰理AC695N的SDK包,用codeblocks配置开发环境,杰理编译器什么的都下载好了,用的是PI32V2R3的编译器,但是编译成功之后,添加断点无法单步调试,用GDB调试器显示状态码0,用PI32V2R3LD调试器状态码是1 都无法单步调试

 

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 08:40
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在使用GDB调试时,有时候可能会遇到不能单步调试的情况。这种情况可能由多种原因引起,例如没有正确加载符号表、程序未定义可执行文件等。

    根据您提供的信息,以下是一些可能导致这种问题的原因和解决方法:

    原因分析

    • 缺少符号表:在启动GDB调试之前,确保已经正确加载了应用程序的符号表。
    • 未定义可执行文件:如果应用程序未定义为可执行文件(通常通过--exec选项指定),则GDB将找不到可执行文件并导致错误。
    • 源代码路径不正确:确认源代码路径是否正确指向应用程序的源文件或库文件。
    • 错误的断点设置:检查是否有误设置了断点的位置或者断点被删除。

    解决方法

    加载符号表

    如果您在启动GDB时遇到了“No symbol table is loaded”提示,尝试重新加载符号表以解决问题。这可以通过运行file命令来实现。例如,在Windows上可以运行:

    file D:/AC695N/SDK/apps/urser/voice_app.c
    

    然后在终端中查看输出,找到包含符号表的文件,并将其添加到您的符号表加载列表中。

    检查可执行文件

    确保您的程序已定义为可执行文件,并且已经被正确地链接在一起。您可以使用--exec选项来验证这一点:

    --exec=D:/AC695N/SDK/apps/urser/voice_app.exe
    

    确保正确的源代码路径

    确认源代码路径是否指向正确的文件或库文件。如果没有,尝试更正路径。

    断点设置

    检查您是否正确设置了断点的位置。如果断点被意外删除,请尝试重新添加断点。

    尝试以上步骤,看看是否能解决问题。如果仍然存在问题,建议查阅相关的技术文档或社区讨论,寻求更多帮助。

    评论

报告相同问题?