GDB Set 命令的两个重要功能 设置代码中变量的值 设置环境变量的值 set var <var>=<value> set var i=10 set $<var>=<value> set $a=10 在 GDB 调试环境中设置一个变量并赋值。 有什么用? 假设有一个数组 k,在运行一段时间之后,想
写在前面 既然已经拥有了一块 espprog,那么我们一定要物尽其用,使用它来烧录和调试 esp32。 我们使用 openocd 来烧录程序。 macOS 下载安装 ftdi 因为一些这里不再赘述的原因,在macOS下必须要安装ftdi驱动,才能够使用espprog,所以,使用以下命令安装ftid。
使用 espprog 与 esp32 连接 espprog 官方使用指南 esp32 JTAG 管脚定义 espprog 的 JTAG 接口示意
GDB Debugger Wiki GDB Wiki ESP32 的环境中运行 GDB 1. 使用blink示例代码 代码示例在esp-idf的get-started目录,这里就不再赘述。 2. 运行openocd openocd -f board/esp32-wrover-kit-3.3v.cfg
创建新的用户命令 一次性打印多个变量 (gdb) define my_print > print /d i > print /d j > print /d k > print customer > end (gdb) my_print 这样就可以调用my_print来一次性打印变量。 定义查找功能
GDB TUI 启动报错 如果你使用tmux,那么有可能会在启动gdbtui时报错: cannot enable the tui error opening terminal term=screen-256color 解决 open file ~/.tmux.conf, add following
两种方法启用 TUI 进入调试之后输入:tui enable 可以在gdbinit启动文件内追加tui enable 功能 可以使用 箭头 来滚动查看代码。 用list <number>可以将代码显示框定位到<number>附近。 用layout asm可以显示汇编代码。 用layout regs显
用途 打印出对应内存地址的内容。可以用来查看程序中相对应变量的值,还可以调试一些库文件。 X命令打印出的格式 x /nfu <address> Print Memory n: How many units to print f: Format charracter (like print)
display 命令 display <value>,可以在程序每次暂停时打印变量的值。 display命令也可以设置不同的显示格式 display /t <value> info display 可以查看 display 当前状况 disable display <num> 关闭显示某变量的值。
xtensa-esp-elf-gdb build/blink.elf -x gdninit 启动 gdb 可以看到在gdbinit文件中设置在app_main处的硬件断点已经起了作用。 此处打印出了断点处的代码和断点信息。 list 简化命令:l <
豆制品
Rust
MPU6050
neovim
Problem Solve
FreeRTOS
蓝牙
ESP32 JTAG Debug
C语言
默认分类