Я использую WinDbg (Native x64 - NOT Itanium) для отладки x64 (неуправляемого) приложения, которое загружает обе управляемые неуправляемые библиотеки DLL.WinDbg - отладка смешанного x64 управляемого/неуправляемого кода
Я пытаюсь установить точку останова в одной из неуправляемых библиотек DLL. Когда точка останова ударяется, и я перехожу, отображаемые инструкции полностью отличаются от того, что они должны быть. Я проверил с двумя разными дизассемблерами, что WinDbg не показывает правильную разборку при прохождении.
При подключении к приложению, я получаю строку, как это:
ModLoad: 00000000`XXXXXXXX 00000000`YYYYYYYY C:\MyDLL.DLL
Я настроил адреса в двух дизассемблеров, чтобы отразить базовый адрес XXXXXXXX.
В чем может быть проблема?
Я нашел это (который никогда не был полностью отвечал): http://stackoverflow.com/questions/1398826/vs2008-on-win7-64-bit-debugging-a-windows-service Может быть, это поможет? – devviedev
действительно ли разбирательство имеет смысл? я бы дал общее предпочтение windbg, поскольку он декодирует, используя действительный ip в реальном процессе, который имеет преимущества, а не только на основе статического анализа (как бы ни был хорош дизассемблер). можете ли вы показать немного кода сборки для сравнения? – deemok
Это «вызов someFunc» против «mov ebx, esp». Даже вступая в другие моменты, он не соответствует. Кажется непоследовательным, в котором ударяют точки останова; Я установил точки останова, которые должны быть удалены, но это не так. – devviedev