Ситуация такая - запускаю exe - вылетаю где-то в области адресов загрузки кернела. Есть ли возможность в OllyDbg сделать как бы шаг назад и узнать откуда из моей exe -шки произошел этот переход? Спасибо.
Не поможет минус, т.к. он отменяет шаг(F4,F7 или F8) и не меняет ничего кроме положения курсора. Если под переходом понимается прыжок, то оля пишет в окне доп. информации, под кодом, и рисует стрелочки, если прыжков в это место много. то на них надо ставить бряки, либо запускать программу с помощью Animate Over, тогда уже минус поможет, но будет очень долго
Тогда же по идее в каждую API будет входить?! Есть ещё одно решение. Существует плагин-трейсер. Пишет в файл каждую исполняемую команду.
_sheva740 Да, как раз для этого есть трассировка, она просто записывает в лог каждую команду, которая была выполнена, потом по логу поймешь из-за чего был баг.
Согласен. Серый минус только для трассировки. Другой способ. На исключении смотри в стеке адреса возврата. Скорее всего там будет адрес процедуры (call), где и произошло исключение. Ставишь на ней бряк, перезапускаешь программу, доходишь до этой функции, входишь в нее и трассирешь.
Sturgeon Да по стеку понятно, просто кажется в SoftIce такое было, не уверен, может и в OllyDbg такое есть.