Отладка неуправляемого приложения и управляемой C # dll одновременно - PullRequest
2 голосов
/ 09 ноября 2011

Мои настройки:
Application.exe (Visual Studio 6.0 C ++)
Component.dll (Visual Studio 2010 C #)
Application.exe использует компонент.dll

Я хочу иметь возможность отлаживать свое приложение Visual Studio 6.0 C ++ и компонент Visual Studio 2010 C #, которые оно использует одновременно, но я не уверен, возможно ли это или нет.

Я пытался запустить приложение из Visual Studio 6.0 и подключиться к этому процессу ( Application.exe ) в моем компонентном решении Visual Studio 2010, но когда я иду, чтобы присоединиться к процессу ()Application.exe ) серого цвета.Я попытался переключить Attach To: на Native, но это не позволяет мне присоединиться к этому процессу.Мой Application.exe по-прежнему неактивен в окне.

Возможно ли это сделать, и если да, то как?

Ответы [ 2 ]

9 голосов
/ 09 ноября 2011

К процессу может быть подключен только один отладчик, поэтому выделение отображается серым цветом.У вас мало пользы для отладчика VS6, он ничего не знает об управляемом коде.Вам придется отлаживать это с VS2010.Щелкните правой кнопкой мыши ваш проект C #, Свойства, Отладка.Выберите «Запустить внешнюю программу» и выберите ваш C ++ .exe.Установите флажок «Включить параметр отладки неуправляемого кода».

Установите точку останова в коде C # и нажмите F5, чтобы запустить .exe.Индикатор точки останова начнет светиться, как только код C ++ загрузит вашу DLL.Отладка кода на C ++ также возможна, хотя вы работаете с .pdb из прошлого века.Вы не можете сделать один шаг из управляемого кода в код C ++, вам нужно установить точку останова.

3 голосов
/ 09 ноября 2011

Вы не можете подключить два разных отладчика к одному и тому же процессу.

Вместо этого вы можете присоединить его только к VS2010, но присоединить его как управляемый и как собственный.

...