У меня есть сборка, которую я пытаюсь отладить в 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
, но что, если я не знаю, каким будет мое следующее сравнение?
Я пробовал искать в Интернете, но я не смог найти ответы.
Я знаю, что это просто доходит до утверждения перехода. Я хочу продолжить до следующего, произвольного сравнения, хотя – mottese
Итак, вы хотите разбить любую инструкцию 'cmp'? –
Это именно то, что я хочу сделать – mottese