WinDbg - отладка смешанного x64 управляемого / неуправляемого кода - PullRequest
0 голосов
/ 21 декабря 2009

Я использую WinDbg (Native x64 - НЕ Itanium) для отладки x64 (неуправляемого) приложения, которое загружает обе управляемые неуправляемые библиотеки DLL.

Я пытаюсь установить точку останова в одной из неуправляемых библиотек DLL. Когда достигается точка останова, и я прохожу, отображаемые инструкции полностью отличаются от того, какими они должны быть. С помощью двух разных дизассемблеров я проверил, что WinDbg не отображает правильную дизассемблирование при выполнении шага.

При подключении к приложению получаю строку вроде:

ModLoad: 00000000`XXXXXXXX 00000000`YYYYYYYY  C:\MyDLL.DLL

Я настроил адреса в двух дизассемблерах так, чтобы они отражали базовый адрес XXXXXXXX.

В чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 18 января 2010

Где-то я заметил информацию, что это может быть связано с неправильной точкой входа в вашу DLL. Но я понятия не имею, что делать с этой информацией (я новичок).

0 голосов
/ 21 декабря 2009

uf modname! FuncName возвращает правильные результаты? Иногда вы можете обмануть WinDbg, если разберете / остановите в странных местах. Помните, что x86 / x64 - это набор команд переменной ширины, поэтому, если вы начнете читать в середине инструкции, дизассемблер будет сбит с толку.

...