Практическое руководство. Отладка в смешанном режиме
Обновлен: Ноябрь 2007
Этот раздел применим к:.
Выпуск |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard |
||||
Pro и Team |
Обозначения:
Применим |
|
Не применим |
|
Команда или команды по умолчанию скрыты. |
Далее описывается отладка управляемого и машинного кода, также называемая отладкой в смешанном режиме. Для этого существует два сценария, в зависимости от того, написана ли в машинном коде DLL-библиотека или приложение:
Приложение, вызывающее DLL-библиотеку, написано в машинном коде. В этом случае DLL-библиотека является управляемой, и для отладки должны быть включены оба отладчика — управляемый и машинный. Это можно проверить в диалоговом окне <Проект> Страницы свойств. Выполнение этой процедуры зависит от того, была ли отладка запущена из проекта DLL-библиотеки или из проекта вызывающего приложения.
Приложение, вызывающее DLL-библиотеку, написано в управляемом коде, а DLL-библиотека — в машинном.
Примечание. |
---|
Отображаемые диалоговые окна и команды меню могут отличаться от описанных в справке в зависимости от текущих настроек или версии. Для изменения параметров выберите Импорт и экспорт параметров в меню Сервис. Дополнительные сведения см. в разделе Параметры Visual Studio. |
Чтобы включить отладку в смешанном режиме в машинном EXE-файле, вызывающем управляемую DLL
В Обозревателе решений выберите проект.
В меню Вид выберите пункт Страницы свойств.
В диалоговом окне <Проект> Страницы свойств разверните узел Свойства конфигурации, а затем выберите Отладка.
Установите Тип отладчика в Смешанный или Авто.
Чтобы включить отладку в смешанном режиме в управляемом EXE-файле, вызывающем машинную DLL-библиотеку
В Обозревателе решений выберите проект.
В меню Вид выберите пункт Страницы свойств.
В окне Страницы свойств перейдите на вкладку Отладка.
В группе Включение отладчиков установите флажок Включить отладку неуправляемого кода.
Примечание. Чтобы отладчик мог присоединиться к коду на языке C++, код должен предоставлять DebuggableAttribute. Это можно реализовать в коде автоматически с помощью компоновки с параметром /ASSEMBLYDEBUG (добавление атрибута DebuggableAttribute).