Отладка в смешанном режиме (C#, C++, Visual Basic)
В этой статье описывается, как включить отладку для управляемого и нативного кода вместе, что называется отладкой в смешанном режиме. Существует два сценария отладки в смешанном режиме:
Приложение, которое вызывает библиотеку DLL, написано на родном языке, а DLL является управляемой библиотекой.
Приложение, которое вызывает библиотеку DLL, написано на управляемом коде, а библиотека DLL находится в нативном коде. Руководство по этому сценарию см. в разделе Отладка управляемого и машинного кода.
Вы можете включить как управляемые, так и нативные отладчики на страницах свойств проекта вызывающего приложения. Параметры отличаются для собственных и управляемых приложений.
Если у вас нет доступа к проекту вызывающего приложения, можно выполнить отладку библиотеки DLL из проекта DLL. Для отладки не требуется смешанный режим. Вам нужен только проект DLL. Дополнительные сведения см. в разделе Отладка из проекта DLL.
Заметка
Диалоговые окна и команды, описанные в этой статье, могут отличаться от вашего опыта работы в зависимости от параметров или выпуска Visual Studio. Чтобы изменить параметры, выберите Инструменты>Импорт и экспорт параметров. Дополнительные сведения см. в разделе Сброс всех параметров.
Включение смешанного режима для нативного приложения для вызова (C++)
Чтобы включить отладку в смешанном режиме для собственного вызывающего приложения в C++, выполните следующие действия:
В обозревателе решений Visual Studio кликните правой кнопкой мыши проект C++ и выберите Свойстваили используйте сочетание клавиш Alt + Enter. <Откроется диалоговое окно страниц свойств проекта>.
В диалоговом окне разверните раздел "Свойства конфигурации " и перейдите на вкладку "Отладка".
На вкладке Отладка выберите свойство Тип отладчика и используйте раскрывающийся список, чтобы выбрать параметр Авто или Смешанный. Если существует несколько вариантов гибридной, например .NET Core и .NET Framework, выберите оптимальный вариант для вашей конфигурации.
Чтобы применить изменение свойства, нажмите кнопку ОК.
Включение смешанного режима для приложения с управляемыми вызовами (C# или Visual Basic)
Чтобы включить отладку в смешанном режиме для управляемого вызывающего приложения в C# или Visual Basic, выполните следующие действия.
В обозревателе решений Visual Studio щелкните правой кнопкой мыши проект C# или Visual Basic и выберите Свойстваили используйте сочетание клавиш Alt+Enter. Панель свойств открывается.
В области свойств включите отладку в смешанном режиме, задав следующее свойство:
код .NET
В меню слева выберите Отладка.
В разделе Общие выберите ссылку Интерфейс открытия профилей отладки. Откроется диалоговое окно профилей запуска.
В диалоговом окне прокрутите, чтобы найти раздел Включить отладку нативного кода.
Выберите Включить отладку для управляемого и нативного кода вместе, также называемую отладкой в смешанном режиме свойство:
Чтобы применить изменение свойства, закройте диалоговое окно "Профили запуска " и область "Свойства ".
код .NET Framework
Если вы используете код .NET Framework, у которого нет профиля запуска отладки, выполните следующие действия.
В меню слева выберите Отладка.
В разделе движков отладчика выберите свойство Включить отладку машинного кода:
Чтобы применить изменение свойства, закройте область свойств.
В меню слева выберите Отладка.
В разделе обработчиков отладчика выберите свойство Включить отладку нативного кода:
Чтобы применить изменение свойства, закройте область свойств.
Заметка
Для приложения .NET Core в Visual Studio 2017 и Visual Studio 2019 необходимо использовать файл launchSettings.json вместо свойств проекта, чтобы включить отладку в смешанном режиме.