Сборка смешанного режима, не загружающая символ для собственного C++ pdbs

Я работаю со сборками смешанного режима в C++ / CLI. Весь режим автоматического управления собрался, pdb's загружается, когда успешно в сборке смешанного режима, но собственный dll's и pdb's не становятся загруженными даже при том, что информацию собственного pdb's показывают в области Modules (т.е. в Отладке VS-> Windows-> Модули).

Я использую собственный dll и вызываю его экспортируемую функцию в смешанном блоке в C++ / код CLI. Здесь, функции вызваны успешно, но собственные pdb символы не загружаются, и все точки останова в собственном коде показываются полым кругом, и подсказки говорит, что нет никаких символов, загруженных для этого.

Я сделал все, pdb помещенный в текущий каталог туда, где управляемый процесс запускается; удаленный весь obj и папки отладки и перекомпилированный каждый проект одновременно; я даже использовал утилиту ChkMatch, которая показывает, что символы в Exe и соответствующем pdb соответствуют.

Там какой-либо путь состоит в том, чтобы включить точки останова собственного кода при вызове от управляемого (C++/LCI режим Mixed) кода?

С уважением,

Usman

6
задан Codie CodeMonkey 8 February 2013 в 11:11
поделиться

1 ответ

Отладка в смешанном режиме может быть то удачной, то неудачной, в основном неудачной. Сначала проверьте, действительно ли у вас включена отладка в смешанном режиме. В проекте C# это Project + Properties, Debug, Enabled unmanaged code debugging check box. Далее, отладка в смешанном режиме не включена для 64-битных процессов. Если вы работаете на 64-битной операционной системе, убедитесь, что вы заставили .exe запускаться в 32-битном режиме. Project + Properties, вкладка Build, Platform Target = x86.

Далее проверьте, где отладчик искал файлы .pdb. В окне Debug + Windows + Modules щелкните DLL правой кнопкой мыши и выберите "Symbol load information". Последнее средство - использовать __debugbreak() в неуправляемом коде.

16
ответ дан 8 December 2019 в 14:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: