1

我需要调试这部分arm汇编代码,

for3:
ldrb r3,[r4,#0]
ldr r0,=format2
mov r1,r3
bl printf
add r4,r4,#1
cmp r3,#'\0'
bne for3

它包含printf来自 c 的语句,当我调试它时,它会printf通过数百行代码。我需要跳过外部库函数,只浏览我的代码。怎么做?

4

3 回答 3

2

使用finishGDB 中的命令让应用程序继续运行,直到它从当前堆栈帧返回。(可简写为fin。)

于 2013-09-17T05:05:59.980 回答
2

使用ni( nexti) 而不是si跳过函数调用

nexti
nexti arg
ni

执行一条机器指令,但如果是函数调用,则继续执行直到函数返回。参数是重复计数,如next.

于 2013-09-17T10:40:59.957 回答
2

虽然完成的技巧(一旦你输入函数),如果你需要重复执行此操作,还请查看 gdb 的跳过命令。

于 2013-09-18T07:39:28.280 回答