встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик

Как отлаживать и профилировать любой EXE-файл с помощью Visual Studio

встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. image loader. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик фото. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик-image loader. картинка встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. картинка image loader. Как и в обычном проекте, вы можете начать отладку с помощью F5, которая запустит EXE и подключит отладчик. Если вы хотите отладить запуск, вы можете запустить с помощью F11, который запустит EXE и остановится на первой строке пользовательского кода. Оба эти параметра доступны в контекстном меню для проекта EXE в окне Solution Explorer, как показано ниже:

Отладка

Как и в обычном проекте, вы можете начать отладку с помощью F5, которая запустит EXE и подключит отладчик. Если вы хотите отладить запуск, вы можете запустить с помощью F11, который запустит EXE и остановится на первой строке пользовательского кода. Оба эти параметра доступны в контекстном меню для проекта EXE в окне Solution Explorer, как показано ниже:

встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. image loader. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик фото. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик-image loader. картинка встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. картинка image loader. Как и в обычном проекте, вы можете начать отладку с помощью F5, которая запустит EXE и подключит отладчик. Если вы хотите отладить запуск, вы можете запустить с помощью F11, который запустит EXE и остановится на первой строке пользовательского кода. Оба эти параметра доступны в контекстном меню для проекта EXE в окне Solution Explorer, как показано ниже:

Для отладки понадобятся символы, файлы PDB, для EXE и любых DLL, которые нужно отладить. Visual Studio будет следовать тому же процессу и попытается получить символы также, как и при отладке обычного проекта. Поскольку маловероятно, что файлы PDB были распространены вместе с EXE-файлом, возможно, вы захотите найти их в сборке или, что еще лучше, на сервере символов. Дополнительную информацию и рекомендации по использованию символов можно найти в этом блоге.

Для эффективной отладки вам также понадобится исходный код, который использовался для сборки EXE, или даже для нескольких файлов, которые вас интересуют. Вам нужно найти эти файлы и открыть их в Visual Studio. Если исходный код не совпадает с исходным кодом, который был собран, EXE Visual Studio предупредит вас, когда вы попытаетесь вставить точку останова, и точка останова не будет привязана. Это поведение может быть изменено в окне Settings peek window. В окне просмотра параметров щелкните текст ссылки Must match source, а затем установите флажок, чтобы разрешить несоответствующий источник, как показано ниже. Конечно, с несоответствующим источником вы никогда не знаете, что произойдет, так что используйте это только на свой страх и риск.

встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. image loader. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик фото. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик-image loader. картинка встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. картинка image loader. Как и в обычном проекте, вы можете начать отладку с помощью F5, которая запустит EXE и подключит отладчик. Если вы хотите отладить запуск, вы можете запустить с помощью F11, который запустит EXE и остановится на первой строке пользовательского кода. Оба эти параметра доступны в контекстном меню для проекта EXE в окне Solution Explorer, как показано ниже:

Если EXE был собран с SourceLink, то информация об источнике будет включена в PDB, и Visual Studio попытается загрузить источник автоматически. Это действительно хорошая причина использовать SourceLink с вашими проектами. Даже если у вас есть локальный набор, у вас может не быть той версии, которая использовалась для сборки двоичного файла. SourceLink — ваш надежный способ убедиться, что правильный источник связан с правильным двоичным файлом.

Если вы не можете получить исходный код, у вас еще есть несколько вариантов:

Источник

Учебник. Отладка кода C# и C++ в рамках одного сеанса отладки

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

В этом учебнике описывается процесс отладки машинного кода из управляемого приложения. Тем не менее при необходимости вы можете выполнять отладку управляемого кода из собственного приложения. Отладчик также поддерживает смешанные режимы других типов, например отладку кода Python и машинного кода, а также использование отладчика сценариев в приложениях таких типов, как ASP.NET.

В этом руководстве рассмотрены следующие задачи:

Предварительные требования

Необходимо установить среду Visual Studio со следующими рабочими нагрузками.

Если вы еще не установили среду Visual Studio, вы можете сделать это бесплатно со страницы скачиваемых материалов Visual Studio.

Если среда Visual Studio уже установлена без необходимых рабочих нагрузок, выберите Открыть Visual Studio Installer в левой области диалогового окна Новый проект Visual Studio. В Visual Studio Installer выберите нужную рабочую нагрузку и щелкните Изменить.

Создание простой собственной библиотеки DLL

Создание файлов для проекта библиотеки DLL:

Откройте Visual Studio и создайте проект.

Нажмите клавишу ESC, чтобы закрыть окно запуска. Нажмите CTRL+Q, чтобы открыть поле поиска, введите Пустой проект, выберите Шаблоны и затем Пустой проект в C++. В появившемся диалоговом окне выберите Создать. Введите имя, например Mixed_Mode_Debugging, и нажмите кнопку Создать.

В верхней строке меню последовательно выберите Файл > Создать > Проект. В левой области диалогового окна Новый проект в разделе Visual C++ выберите Другой, а затем в средней области выберите Пустой проект. Введите имя, например Mixed_Mode_Debugging, и нажмите кнопку ОК.

Visual Studio создаст проект.

В обозревателе решений последовательно выберите Исходные файлы, Проект > Добавить новый элемент. Также можно щелкнуть пункт Исходные файлы правой кнопкой мыши и выбрать Добавить > Новый элемент.

Visual Studio добавит в обозреватель решений новый файл C++.

Скопируйте следующий код в файл Mixed_Mode.cpp.

В обозревателе решений последовательно выберите Файлы заголовков, Проект > Добавить новый элемент. Также можно щелкнуть пункт Файлы заголовков правой кнопкой мыши и выбрать Добавить > Новый элемент.

Visual Studio добавит в обозреватель решений новый файл заголовка.

Скопируйте следующий код в файл Mixed_Mode.h.

Выберите Файл > Сохранить все или нажмите клавиши CTRL+SHIFT+S для сохранения файлов.

Настройка и построение проекта библиотеки DLL:

В обозревателе решений выберите узел проекта Mixed_Mode_Debugging, после чего щелкните значок Свойства или щелкните узел проекта правой кнопкой мыши и выберите пункт Свойства.

При смене платформы с x86 на x64 или наоборот необходимо повторно настроить свойства для новой платформы.

В левой области раздела Свойства конфигурации выберите Компоновщик > Дополнительно, а затем для элемента Без точки входа в раскрывающемся списке выберите значение Нет. Если значение было изменено на Нет, нажмите кнопку Применить.

встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. mixed mode set as native dll. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик фото. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик-mixed mode set as native dll. картинка встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. картинка mixed mode set as native dll. Как и в обычном проекте, вы можете начать отладку с помощью F5, которая запустит EXE и подключит отладчик. Если вы хотите отладить запуск, вы можете запустить с помощью F11, который запустит EXE и остановится на первой строке пользовательского кода. Оба эти параметра доступны в контекстном меню для проекта EXE в окне Solution Explorer, как показано ниже:

Выберите проект в обозревателе решений, затем выберите Сборка > Построить решение, после чего нажмите клавишу F7 или щелкните проект правой кнопкой мыши и выберите Сборка.

Проект должен быть построен без ошибок.

Создание простого управляемого приложения для вызова библиотеки DLL

Откройте Visual Studio и создайте новый проект.

Затем введите имя, например Mixed_Mode_Calling_App, и щелкните Далее или Создать, в зависимости от того, какой вариант доступен.

Введите имя, например Mixed_Mode_Calling_App, и нажмите кнопку ОК.

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

Visual Studio создаст пустой проект и выведет его содержимое в обозревателе решений.

Замените все содержимое файла Program.cs следующим кодом.

В новом коде замените путь к файлу в поле [DllImport] на путь к созданному файлу Mixed_Mode_Debugging.dll. См. подсказки в комментариях к коду. Не забудьте заменить заполнитель username.

Выберите Файл > Сохранить Program.cs или нажмите клавиши CTRL+S для сохранения файла.

Настройка смешанного режима отладки

В обозревателе решений выберите узел проекта Mixed_Mode_Calling_App, после чего щелкните значок Свойства или щелкните узел проекта правой кнопкой мыши и выберите пункт Свойства.

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

встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. mixed mode enable native code debugging. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик фото. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик-mixed mode enable native code debugging. картинка встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. картинка mixed mode enable native code debugging. Как и в обычном проекте, вы можете начать отладку с помощью F5, которая запустит EXE и подключит отладчик. Если вы хотите отладить запуск, вы можете запустить с помощью F11, который запустит EXE и остановится на первой строке пользовательского кода. Оба эти параметра доступны в контекстном меню для проекта EXE в окне Solution Explorer, как показано ниже:

Задание точки останова и запуск отладки

В проекте C# откройте файл Program.cs. Задайте точку останова в следующей строке кода. Для этого щелкните в дальнем левом поле, выберите строку и нажмите клавишу F9 либо щелкните строку правой кнопкой мыши и выберите Точка останова > Вставить точку останова.

В месте установки точки останова в левом поле появится красный круг.

Нажмите клавишу F5 и щелкните зеленую стрелку в панели инструментов Visual Studio либо выберите Отладка > Начать отладку, чтобы запустить отладку.

Отладчик приостановит выполнение в заданной точке останова. Место, в котором приостановлена работа отладчика, будет указано желтой стрелкой.

Шаг с заходом в машинный код и с выходом из него

Если отладка управляемого приложения приостановлена, нажмите клавишу F11 или выберите Отладка > Шаг с заходом.

Откроется собственный файл заголовка Mixed_Mode.h. Место, в котором приостановлена работа отладчика, будет отмечено желтой стрелкой.

встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. mixed mode step into native code. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик фото. встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик-mixed mode step into native code. картинка встроенный отладчик в visual studio может работать как отладчик уровня исходного кода так и отладчик. картинка mixed mode step into native code. Как и в обычном проекте, вы можете начать отладку с помощью F5, которая запустит EXE и подключит отладчик. Если вы хотите отладить запуск, вы можете запустить с помощью F11, который запустит EXE и остановится на первой строке пользовательского кода. Оба эти параметра доступны в контекстном меню для проекта EXE в окне Solution Explorer, как показано ниже:

Теперь вы можете задавать точки останова и при попадании в них проверять переменные в машинном и управляемом коде.

Чтобы просмотреть значение переменной в исходном коде, наведите на нее указатель мыши.

Переменные и их значения можно просматривать в окнах Видимые и Локальные.

Если отладка приостановлена, вы также можете использовать окна контрольных значений и стека вызовов.

Чтобы перейти в отладчике на одну строку вперед, нажмите клавишу F11 еще раз.

Чтобы продолжить выполнение и снова приостановить работу в управляемом приложении, нажмите клавиши SHIFT+F11 или выберите Отладка > Шаг с выходом.

Чтобы продолжить отладку, нажмите клавишу F5 или щелкните зеленую стрелку.

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

Дальнейшие действия

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *