Отладка проекта C ++ в Visual Studio 2010 - PullRequest
1 голос
/ 18 января 2012

Я написал проект на C #, в котором я использую C ++ dll (также написанный мной).Я пытаюсь отладить эту функцию dll из моего решения C #.

Я добавил проект C ++ в решение C # и управляю его выводом - это нормально.Но я не смог попасть в функции dll (точки останова не загружены).

Ответы [ 3 ]

2 голосов
/ 18 января 2012

Предполагая, что вы используете версию Visual Studio, отличную от Express, вы должны иметь возможность разрешить собственную отладку C ++, установив флажок на панели свойств проекта, который вы запускаете. Перейдите в Свойства проекта -> Отладка -> Включить отладку неуправляемого кода.

enter image description here

1 голос
/ 18 января 2012

Вы хотите убедиться, что ваша нативная DLL была скомпилирована и связана в режиме отладки. Хотя я не очень много работаю с Visual Studio IDE, вам нужны параметры командной строки /Zi для cl.exe и /DEBUG для link.exe. Это должно привести к созданию библиотеки DLL с включенными символами отладки и созданию файла .pdb. После этого вы сможете присоединиться к процессу как обычно (возможно, вам придется это делать из отладчика Visual C ++ - опять же, я не очень много работаю с IDE) и установить точки останова для функций в DLL. *

0 голосов
/ 14 августа 2012

Ответ Сэмюэля Слэйда верен с одним уточнением:

Я пытался отладить COM-объект ATL / MFC C ++ из некоторого кода C # с помощью Visual Studio 2010. У меня было отдельное решение для каждого проекта, и я не мог заставить его работать. Когда я поместил оба проекта в одно решение и включил отладку неуправляемого кода , как указано выше, он работал чудесно.

Итак, объедините оба проекта в одно решение, и оно должно работать.

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