我正在使用GDB和在OVPsim下运行的Microblaze程序集。我有以下问题:
(gdb) advance PTE_entry_empty
0x00000598 in PTE_entry_empty()
1: x/i $pc
=> 0x598 <PTE_entry_empty+36>: mfs r6, rear
即,虽然我要求GDB推进到一个特定的符号,它远远超出它 - 甚至似乎知道它已经远远超出它。我想我可以要求它前进到一个特定的地址(在这种情况下是0x574)但是有更通用的解决方案吗?
答案 0 :(得分:2)
advance
(和break
)命令的参数是函数名,行号,标签或*
后跟地址表达式。
指定函数名称将使gdb在函数的序言后停止。如果您想停在PTE_entry_empty
功能的确切起始地址,您可以执行
(gdb) advance *PTE_entry_empty
使用*
似乎违反直觉,因为没有涉及间接。只需将其视为关键字。