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


Отладка машинного кода

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

Этот раздел применим к:

Выпуск

Visual Basic

C#

C++

Web Developer

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

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

Только машинные коды

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

Standard

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

Только машинные коды

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

Pro и Team

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

Только машинные коды

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

Обозначения:

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

Применяется

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

Неприменимо

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

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

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

В этом подразделе

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

  • DebugBreak и __debugbreak
    Функция Win32 DebugBreak и ссылки на относящиеся к ней темы в Platform SDK. Также описывает встроенный __debugbreak.

  • Утверждения
    Операторы утверждений, принципы их работы, преимущество их использования (перехватывание логических ошибок, проверка результатов операции, выявление причин ошибок), их взаимодействие с _DEBUG, а также типы утверждений, поддерживаемые в Visual Studio.

  • Обнаружение и изоляция утечек памяти
    Утечки памяти и ссылки на рекомендуемые в этих случаях инструменты отладчика, на библиотеку времени выполнения языка C (CRT), а также на библиотеку MFC для обнаружения и определения утечек памяти. Ссылки содержат данные о включении функции обнаружения утечек памяти, типах интерпретируемых блоков памяти, установках точек останова для номера выделения памяти, сравнении состояний памяти, а также обнаружении утечек памяти в библиотеке MFC.

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

  • Методы отладки MFC
    Предоставляет способы отладки программ MFC, к которым, в частности, относятся функция afxDebugBreak, макрос TRACE, обнаружение утечек памяти в MFC, утверждения MFC и уменьшение размера отладочных построений MFC.

  • Методы отладки CRT
    Ссылки на методы отладки библиотеки времени выполнения языка C, содержащие использование библиотеки отладки CRT, макрос для отчета, различия между функциями malloc и _malloc_dbg, написание отладочных функций-ловушек, а также отладочную кучу CRT.

  • Вопросы и ответы по отладке машинного кода
    Ответы на часто задаваемые вопросы об отладке программ Visual C++.

  • Отладка COM и ActiveX
    Информация по отладке приложений COM и элементов управления ActiveX, в частности, о средствах отладки.

  • Практическое руководство. Отладка DLL
    Объясняется, как настроить отладку DLL в машинных кодах.

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

Связанные подразделы

  • Подготовка к отладке: типы проектов Visual C++
    Ссылки на темы, описывающие отладку машинных типов проектов, созданных на основе шаблонов проектов Visual C++.

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

См. также

Основные понятия

Безопасность отладчика

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

Отладка в Visual Studio