Поделиться через


Отладка в смешанном режиме (C#, C++, Visual Basic)

В этой статье описывается, как включить отладку для управляемого и нативного кода вместе, что называется отладкой в смешанном режиме. Существует два сценария отладки в смешанном режиме:

  • Приложение, которое вызывает библиотеку DLL, написано на родном языке, а DLL является управляемой библиотекой.

  • Приложение, которое вызывает библиотеку DLL, написано на управляемом коде, а библиотека DLL находится в нативном коде. Руководство по этому сценарию см. в разделе Отладка управляемого и машинного кода.

Вы можете включить как управляемые, так и нативные отладчики на страницах свойств проекта вызывающего приложения. Параметры отличаются для собственных и управляемых приложений.

Если у вас нет доступа к проекту вызывающего приложения, можно выполнить отладку библиотеки DLL из проекта DLL. Для отладки не требуется смешанный режим. Вам нужен только проект DLL. Дополнительные сведения см. в разделе Отладка из проекта DLL.

Заметка

Диалоговые окна и команды, описанные в этой статье, могут отличаться от вашего опыта работы в зависимости от параметров или выпуска Visual Studio. Чтобы изменить параметры, выберите Инструменты>Импорт и экспорт параметров. Дополнительные сведения см. в разделе Сброс всех параметров.

Включение смешанного режима для нативного приложения для вызова (C++)

Чтобы включить отладку в смешанном режиме для собственного вызывающего приложения в C++, выполните следующие действия:

  1. В обозревателе решений Visual Studio кликните правой кнопкой мыши проект C++ и выберите Свойстваили используйте сочетание клавиш Alt + Enter. <Откроется диалоговое окно страниц свойств проекта>.

  2. В диалоговом окне разверните раздел "Свойства конфигурации " и перейдите на вкладку "Отладка".

  3. На вкладке Отладка выберите свойство Тип отладчика и используйте раскрывающийся список, чтобы выбрать параметр Авто или Смешанный. Если существует несколько вариантов гибридной, например .NET Core и .NET Framework, выберите оптимальный вариант для вашей конфигурации.

    снимок экрана, показывающий, как включить отладку в смешанном режиме для проекта C++ в Visual Studio.

  4. Чтобы применить изменение свойства, нажмите кнопку ОК.

Включение смешанного режима для приложения с управляемыми вызовами (C# или Visual Basic)

Чтобы включить отладку в смешанном режиме для управляемого вызывающего приложения в C# или Visual Basic, выполните следующие действия.

  1. В обозревателе решений Visual Studio щелкните правой кнопкой мыши проект C# или Visual Basic и выберите Свойстваили используйте сочетание клавиш Alt+Enter. Панель свойств открывается.

  2. В области свойств включите отладку в смешанном режиме, задав следующее свойство:

    код .NET

    1. В меню слева выберите Отладка.

    2. В разделе Общие выберите ссылку Интерфейс открытия профилей отладки. Откроется диалоговое окно профилей запуска.

    3. В диалоговом окне прокрутите, чтобы найти раздел Включить отладку нативного кода.

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

      снимок экрана, показывающий, как включить отладку смешанного режима для проекта C# или Visual Basic в Visual Studio.

    5. Чтобы применить изменение свойства, закройте диалоговое окно "Профили запуска " и область "Свойства ".

    код .NET Framework

    Если вы используете код .NET Framework, у которого нет профиля запуска отладки, выполните следующие действия.

    1. В меню слева выберите Отладка.

    2. В разделе движков отладчика выберите свойство Включить отладку машинного кода:

      снимок экрана, показывающий, как включить отладку смешанного режима для проекта C# или Visual Basic в Visual Studio 2019.

    3. Чтобы применить изменение свойства, закройте область свойств.

    1. В меню слева выберите Отладка.

    2. В разделе обработчиков отладчика выберите свойство Включить отладку нативного кода:

      снимок экрана, показывающий, как включить отладку смешанного режима для проекта C# или Visual Basic в Visual Studio 2019.

    3. Чтобы применить изменение свойства, закройте область свойств.

    Заметка

    Для приложения .NET Core в Visual Studio 2017 и Visual Studio 2019 необходимо использовать файл launchSettings.json вместо свойств проекта, чтобы включить отладку в смешанном режиме.