2013-09-26 24 views
1

我有一些彙編,我試圖在GDB中調試。更具體地說,我試圖看看在整個計劃中哪些價值被比較,但是有很多說明我不知道如何進行。有沒有一種方法可以運行,直到我碰到特定類型的指令,比如cmp?例如:跳過直到GDB中的具體指令

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,但如果我不知道我的下一個比較會是什麼?

我試過在網上搜索,但是我一直找不到任何答案。

回答

0

嘗試輸入break *0x08048eba

+0

我知道這只是跳轉語句。我想繼續下一步,任意比較語句,儘管 – mottese

+0

所以你想打破任何'cmp'指令? –

+0

這正是我想要做的 – mottese