Невозможно установить точки останова в C DLL, используемой C ++ / CLI, вызываемой из C # - PullRequest
2 голосов
/ 19 апреля 2009

У меня есть собственная C DLL, которая вызывается объектом C ++ / CLI, который является ViewModel для программы WPF на C #. Я хочу установить точки останова в C DLL. Когда я пытаюсь установить их, они отображаются серым цветом, а всплывающая подсказка говорит , что точка останова в настоящий момент не будет достигнута. Для этого документа не было загружено никаких символов.

Чтобы программа работала нормально, мне пришлось добавить пользовательский шаг сборки, который копирует файлы DLL, PDB, ILK и LIB в промежуточный каталог основной программы C #. Я подозреваю, что это как-то связано с проблемой.

Когда я просматриваю список загруженных модулей (Debug - Windows - Modules), после того момента, когда я знаю, что DLL загружена и некоторые функции в ней выполнены, я не вижу DLL. Я вижу основную программу C # и модуль C ++ / CLI, который вызывает C DLL.

Все эти проекты находятся в одном решении. Нужно ли запускать отдельный экземпляр решения для отладки DLL? В идеале я хочу иметь возможность отлаживать собственную DLL, а также вызывающий код GUI.

спасибо

1 Ответ

9 голосов
/ 19 апреля 2009

Поскольку ваша точка входа в управляемом коде, вам необходимо установить следующую опцию: В Visual Studio-> Ввод проекта -> Свойства -> Отладка -> Включить отладку неуправляемого кода <- проверено </p>

...