使用 GDB - 2022.1 简体中文

Versal ACAP AI 引擎编程环境 用户指南 (UG1076)

Document ID
UG1076
Release Date
2022-05-25
Version
2022.1 简体中文

对相应目标成功完成编译后,即可启动仿真并将 GDB 实例自动附加到仿真中。要启动交互式 GDB 会话,请以 --gdb 开关运行以下命令。

x86simulator --gdb

默认情况下,使用 --gdb 命令行开关运行 x86 仿真器时,它会在 graph.cpp 中进入 main() 之前立即中断。这样即可在任意 AI 引擎内核开始之前暂停执行,因为 graph 尚未运行。要退出 GDB,请输入 quithelp 以获取更多命令。

有多种方式可用于设置断点。一种方法是使用以下语法:

break <kernel_function_name>

通过输入 continue(简略为 c),调试器即可运行直至达到 <kernel function name> 中的断点为止。达到断点时,可以检验局部栈变量和函数实参。下表显示了允许用于检验这些变量的部分常用 GDB 指令。

表 1. 常用 GDB 指令
命令 描述
info stack 报告位于当前断点的函数调用栈。
info locals 显示局部变量的当前状态,这些变量位于调用栈内显示的函数调用作用域内。
print <local_variable_name> 打印单个变量的当前值。
finish 退出当前函数调用,但使所有仿真保持暂停状态。
continue 使调试器运行直至完成。

GDB 是非常强大的调试器,具有诸多功能特性。GDB 的完整文档不在本文档讨论范围内。如需获取 GDB 文档,请参阅 https://sourceware.org/gdb/current/onlinedocs/gdb.pdfhttps://sourceware.org/gdb/current/onlinedocs/refcard.pdf