在执行monitor reset halt
之后如何将gdb ASM窗口与处理器的当前状态同步?
我正在使用gdb通过JTAG适配器/ openocd调试Arm cpu(在beaglebone黑色上为am335x)。我正在使用gdb -tui
。我正在使用拆分视图。
当我第一次使用target remote 127.0.0.1:3334
连接到该板时,该板立即停止,并且ASM窗口更新到当前PC。它显示了当前的PC及其组装指令。此后,它还显示了几条指令。我可以立即开始si
逐步完成程序集。我可以使已加载的眨眼示例的LED闪烁。
如果我执行monitor reset halt
,则板将重置并暂停。 GDB(openocd)输出:
(gdb) monitor reset halt
JTAG tap: am335x.jrc tap/device found: 0x2b94402f (mfg: 0x017 (Texas Instruments), part: 0xb944, ver: 0x2)
JTAG tap: am335x.tap enabled
Debug regions are unpowered, an unexpected reset might have happened
JTAG-DP STICKY ERROR
am335x.cpu: ran after reset and before halt ...
target halted in Thumb state due to debug-request, current mode: Supervisor
cpsr: 0x600001b3 pc: 0x0002412a
am335x.cpu rev 2, partnum c08, arch f, variant 3, implementor 41
MMU: disabled, D-Cache: disabled, I-Cache: disabled
我可以看到PC现在为0x0002412a
。但是,ASM窗口不会更新到新位置。可以通过执行另外一个si
步骤来更新窗口。
如何通过执行指令来更新ASM窗口而又不影响板的状态?