我在嵌入式PPC平台上进行调试(拱门是ppc750),我注意到当二进制文件崩溃时,如果我在gdb中输入'info registers',我看不到DAR的内容(数据访问) register),它应该显示程序试图读取的内存地址 - 我只得到告诉我异常类型的陷阱寄存器:
(gdb) info registers
r0 0x1034875e 271877982
r1 0x7fffed30 2147478832
r2 0xfd7f7a0 265811872
[...]
pc 0xf18d718 0xf18d718
msr 0xd032 53298
cr 0x80000848 2147485768
lr 0xf18d6f8 0xf18d6f8
ctr 0xf235d90 253975952
xer 0x20000000 536870912
orig_r3 0x26 38
trap 0x300 768
这甚至可能吗?我正在使用gdb 7.0.1(有点旧,我知道,但是更新的版本与我们古老的工具链不兼容)。
答案 0 :(得分:0)
我看不到DAR(数据访问寄存器)的内容
据我所知,该寄存器仅在内核模式下可用/可用。
你在调试“裸机”吗?如果没有,您不应该首先寻找DAR
注册。