1

我有一些我试图在 GDB 中调试的程序集。更具体地说,我试图查看在整个程序中比较了哪些值,但是有很多说明我不知道要逐步执行什么。有没有办法简单地运行,直到我遇到特定类型的指令,比如 cmp?例如:

0x08048eaf <+98>:    mov    %ecx,%edx
0x08048eb1 <+100>:   sub    (%eax),%edx
0x08048eb3 <+102>:   mov    %edx,(%eax)
0x08048eb5 <+104>:   add    $0x4,%eax
0x08048eb8 <+107>:   cmp    %ebx,%eax
0x08048eba <+109>:   jne    0x8048eaf <func+98>

这只是一个简单的循环,但我不想为了查看比较语句而单步执行所有其他命令。我意识到我可以输入until *0x8048eb8,但如果我不知道我的下一个比较会是什么?

我已经尝试在网上搜索,但我无法找到任何答案。

4

1 回答 1

1

尝试输入break *0x08048eba.

于 2013-09-26T01:59:11.653 回答