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


Практическое руководство. Устранение ошибок присоединения

Обновлен: Ноябрь 2007

Этот раздел применим для следующих версий.

Выпуск

Visual Basic

C#

C++

Web Developer

Экспресс-выпуск

Тема не применяется Тема не применяется Тема не применяется Тема не применяется

Standard

Тема применяется Тема применяется

Тема применяется

Тема применяется

Pro и Team

Тема применяется Тема применяется

Тема применяется

Тема применяется

Условные обозначения:

Тема применяется

Применимо

Тема не применяется

Неприменимо

Тема применяется, но команда по умолчанию сокрыта

Команда или команды по умолчанию скрыты.

При присоединении отладчика Visual Studio к выполняющемуся процессу этот процесс может содержать один или несколько типов кода. Типы кода, к которым может присоединяться отладчик, — это машинный, управляемый, код T-SQL и код сценариев. Эти типы кодов отображаются и выбираются в диалоговом окне Присоединение к процессу.

8dbb3we5.alert_note(ru-ru,VS.90).gifПримечание.

Для присоединения отладчика к управляемому коду на языке C++ код должен предоставлять DebuggableAttribute. Это можно добавить в код автоматически, путем связывания с параметром /ASSEMBLYDEBUG компоновщика.

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

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

The requested attach was not completed successfully.
Program types successfully attached are:
Common Language Runtime
Native (Win32)
Microsoft T_SQL
Program types that failed to attach are:
Script

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

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

Чтобы получить подробные сведения о том, почему не удалось присоединиться к типу кода

  1. Отключитесь от процесса. Для этого в меню Отладка выберите Отсоединить все.

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

    1. В диалоговом окне Присоединение к процессу выберите процесс в списке Доступные процессы.

    2. Нажмите кнопку Выбрать.

    3. В диалоговом окне Выбор типа кода выберите Выполнять отладку кода следующих типов и выберите тип кода, к которому не удалось присоединиться. Отмените выбор всех остальных типов кода.

    4. Нажмите кнопку ОК. Диалоговое окно Выбор типа кода будет закрыто.

    5. В диалоговом окне Присоединение к процессу нажмите Присоединиться.

    На этот раз присоединение не пройдет полностью, и будет выдано сообщение о конкретной ошибке.

См. также

Другие ресурсы

Присоединение к выполняемым процессам