Одновременная отладка неуправляемого приложения и управляемой библиотеки C # dll

#c# #visual-studio-2010 #com

#c# #visual-studio-2010 #com

Вопрос:

Моя настройка:
Application.exe (Visual Studio 6.0 C )
Component.dll (Visual Studio 2010 C #)
Application.exe использует Component.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 в окне все еще отображается серым цветом.

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

Ответ №1:

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

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

Комментарии:

1. Кажется, что всякий раз, когда я пытаюсь отладить это через Visual Studio 2010, мои точки останова не достигаются. Мое приложение может нормально инициализировать объект и вызвать его, но точки останова не достигаются. Он отображает окна сообщений внутри моих вызовов C # dll. Вот как я могу сказать, что, по крайней мере, мои точки останова преодолены. Есть идеи?

Ответ №2:

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

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