MSVC показывает, что дизассемблирование недоступно. для всего, что скомпилировано из MSVC

Используя MSVC 2017, я использую Attach для обработки компиляции, которую я сделал из консоли с помощью MSVC или CLANG (я компилирую ассемблерный код, сгенерированный компиляторами). Всякий раз, когда я ломаю программу, я получаю только «Нет возможности дизассемблирования». Я понимаю, что он не может отображать код C++, в нем нет никаких символов, но код asm не должен быть проблемой, верно? Любые идеи?

Изменить: я не делаю запутывания или чего-то еще. Это очень простая программа "несколько строк", на которой я ее тестирую.

Edit2: если я помещу __asm ​​{int 3}; и успеваю присоединить отладчик достаточно быстро, разрыв останавливает отладчик и Я МОГУ просматривать дизассемблирование.


person Vojtěch Melda Meluzín    schedule 27.09.2018    source источник


Ответы (1)


Кто-то с форума MSDN решил это;)

Можете ли вы убедиться, что в "Отладка->Параметры..." установлен флажок "Отладка->Общие" "Включить отладку на уровне адреса". Флажок «Показать дизассемблирование, если исходный код недоступен». «Включить только мой код» не отмечен, потому что, когда VS не находит символы с информацией о строке — частный pdb — он предполагает, что это «внешний» код. Если вы чаще выполняете отладку на уровне компьютера, взгляните на автономный предварительный просмотр WinDbg https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugging-using-windbg.-preview

person Vojtěch Melda Meluzín    schedule 28.09.2018