Как войти в неуправляемую библиотеку C ++ из моего кода C ++ / CLI - PullRequest
12 голосов
/ 02 августа 2011

В моем решении три следующих проекта: 1. C # библиотека 2. C ++ / CLI управляемый код 3. C ++ неуправляемый код

Я проверил «Включить отладку неуправляемого кода» в своем проекте C # и построил оба проекта C ++ в Debug / Win32. Однако я не могу войти в неуправляемый код - когда я вызываю F11 при вызове любого неуправляемого метода, он показывает мне какой-то случайный / неправильный код, а затем завершается.

Поскольку мои модульные тесты пройдены, я знаю, что мой неуправляемый код действительно выполняется.

Чего мне не хватает?

Ответы [ 2 ]

10 голосов
/ 03 августа 2011

Когда у меня возникла эта проблема, это произошло от одной из этих вещей:

1) Включить отладку неуправляемого кода не проверено. Вы уже исправили это.

2) Построил EXE как x64 или Любой процессор (говорят, x64 работает, но это не так). Я думаю, что вы уже исправили это.

3) При включении функции «Просто мой код» иногда возникают проблемы с отладкой неуправляемого кода (Инструменты, Параметры, Отладчик, Просто мой код)

4) Неправильные параметры отладки в настройках проекта C ++

5) Отсутствуют, повреждены или не совпадают файлы PDB. Вы можете проверить это, попытавшись установить точку останова в своем коде C ++ во время работы в отладчике. Если точка останова превращается в полый круг, что-то не так с вашей отладочной информацией. Также проверяйте окно вывода при запуске в режиме отладки - в нем должно быть указано, чьи символы были загружены.

4 голосов
/ 02 августа 2011

Я видел, как эта проблема время от времени пошла «по-другому» (т. Е. Из нативного C ++ в C ++ / CLI), и обычно это вызвано тем, что отладчик на самом деле не обнаруживает, что он должен отлаживать как нативный, так и управляемыйcode.

Обычно для меня установка типа отладчика в свойствах конфигурации -> отладка в вашем автозагрузочном проекте с «Auto» на «Mixed» решает проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...