Описание.PDB-файлы и окна.DBG-файлы

Переводы статьи Переводы статьи
Код статьи: 121366 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

.Расширение PDB расшифровывается как «база данных программы». Он содержит новый формат для хранения отладочной информации, которая была введена в Visual C++ версия 1.0. В будущем.PDB-файл также будет содержать других проектов сведения о состоянии. Одним из наиболее важных причин для изменения в Формат был разрешить последовательную компоновку отладочной версии программы, Изменение, впервые представленные в Visual C++ версии 2.0.

.Расширение DBG расшифровывается как «отладка». .DBG-файлы, созданные с помощью 32-разрядные NT набор инструментов, в формат переносимого исполняемого (PE) файл. Они содержат разделы с COFF, завершенный производственный ЗАКАЗ, а в некоторых случаях Codeview сведения. Отладчик Visual C++ интеграции можно прочитать.DBG-файлы в Это формат, однако не обрабатывает символ секции COFF и ищет Данные CodeView.

Если необходимо определить, какой символ информация содержится в.DBG- файл, можно ввести следующее в командной строке:
Dumpbin sample.dbg/symbol.
				
Примечание Путь может потребоваться включение каталогов для Dumpbin.exe и MSdis100.dll:
Path=%Path%;C:\Program Files\DevStudio\VC\bin;C:\Msssdk\bin
				
Для получения дополнительных сведений о DUMPBIN щелкните следующий номер статьи базы знаний Майкрософт:
177429Примеры вывода DUMPBIN

Дополнительная информация

.PDB-файлы

Время более ранних версий, 16-разрядных версиях Visual C++ используется.PDB-файлы отладочной информации, хранящихся в них был добавлен в конец коллекции.EXE или .Файл DLL, компоновщик. В версии Visual C++, упомянутых выше, Компоновщик и встроенный отладчик были изменены, чтобы разрешить.PDB файлы для использования непосредственно во время процесса отладки, устраняя тем самым значительные объемы работы компоновщика и также обход Громоздкие предел CVPACK типов 64 КБ.

Для получения дополнительных сведений об ограничениях CVPACK щелкните следующий номер статьи базы знаний Майкрософт:
112335Ошибка: CK1020 или CK4009 возникает, когда информация о типе превышает 64 КБ
По умолчанию при построении проектов, создаваемых Visual Workbench параметр /Fd компилятора используется для переименования.PDB-файл для <project>.PDB. Таким образом имеется только один.Файл PDB для всего проекта. </project>

При запуске файлы makefile, не созданных с помощью Visual Workbench и /Fd /Zi не используется, то получатся две.PDB-файлы:
  • (Где «x» относится к основной версии соответствующего VCx0.PDB Visual C++, «2» или «4»), который хранит все отладочные данные для пользователя.OBJ-файлы. Он располагается в каталоге, где находится файл makefile.
  • <project>.PDB, который хранит все отладочные данные для конечного .EXE-файл. Он располагается в подкаталоге субкаталоге.</project>
Почему двух файлов? При запуске компилятора, он не знает имени .EXE-файл, в который.OBJ-файлы будут связаны, поэтому компилятору не удается Поместите информацию в <project>.PDB. Два файла хранения различных сведения. Каждый раз при компиляции.OBJ-файла компилятор выполняет слияние отладочной информации в VCX0.PDB. Его нельзя поместить в символьные данные Например, определения функций. Только помещается в информацию, относящуюся к типам. Одно преимущество то, что при каждого исходного файла включает общий заголовок файлы, такие как <windows.h>, все определения типов из этих заголовков являются только хранится один раз, а не в каждой.OBJ-файла. </windows.h></project>

При запуске компоновщик создает <project>.PDB, который содержит отладочной информации для проекта.EXE-файл. Все отладки поместить данные, включая прототипы функций и все остальное, в <project>.PDB не только сведения о типе, найденные в VCX0.PDB. В два типа элемента.PDB-файлы совместного использования одного модуля, так как они являются аналогичные дублирующей структурой; они оба Разрешить добавочные обновления. Тем не менее, фактически они хранят различные сведения. </project></project>

Новый отладчик Visual C++ использует <project>.PDB-файл, созданный Ошибка компоновщика напрямую и включает абсолютный путь к.PDB в.EXE или .DLL-файл. Если отладчик не может найти.PDB-файл в этом месте или, если Недопустимый путь (если, например, проект был перемещен на другой компьютер), отладчик ищет его в текущий каталог. </project>

.DBG-файлы

Также можно использовать отладчик Visual C++ интегрированы.DBG-файлы до тех пор, как состоят из двоичного содержащего формате Codeview выходные данные отладки. Это полезно для отладки, если исходный код недоступен. Даже без источника.DBG-файлы позволяют задавать точки останова на функции, переменные для наблюдения и просмотреть функции в стеке вызовов. Они также необходимые для отладки OLE RPC.

Необходимо помнить, что необходимо обратить внимание: при работе с символами из.DBG- файл, необходимо использовать полностью внутренние имена. Например, для установки как точку останова на вызов функции sndPlaySound Windows Задайте _sndPlaySoundA@8 в качестве местоположения.

Существует фактически два.DBG форматов файлов. Старый формат существовала для довольно некоторое время в мире 16 бит. Например поскольку формат.COM файлы — это простой двоичный образ загружается в память, Codeview отладки не удалось присоединить данные в конец файла, так как файл размер может превышать 64 КБ.COM-файл. Поэтому символическое данные вместо был помещен в отдельную.DBG-файл, который был только Информация CodeView в нем. .DBG-файлы также может возникать по под CVPACK.EXE-файл с помощью параметра /strip.

Для 32-разрядных.Исполняемые файлы, Visual C++ версии 2.x и символ 4.x отладчика обработчик не читает старый формат. Вместо этого он читает формат, используемый в Windows NT.DBG-файлы, предоставленные для использования с его системой.DLL-файлов. К ним.DBG-файлы имеют формат переносимого исполняемого (PE) файла и Содержит разделы с COFF, завершенный производственный ЗАКАЗ, а в некоторых случаях Codeview символическое сведения. Считывает новый отладчик Visual C++.DBG-файлы в формате только. Кроме того, она использует только данные Codeview без учета другие разделы символа.

Можно убрать отладочной информации из PE-файл и сохранить его в .DBG-файл для использования отладчиками. Чтобы это работало нужно отладчика необходимость найти отладочную информацию в отдельном файле, или не знать и ли информация был отброшен из файла или не. Один из методов Если бы отладчик для поиска исполняемого файла для поиска сведения об отладке. Однако чтобы сохранить отладчик от необходимости поиска Файл характеристик поле файла (IMAGE_FILE_DEBUG_STRIPPED) был invented Это означает, что файл был отброшен. Отладчики можно искать это в заголовке PE-файла можно быстро определить ли отладка сведения содержатся в файле, или нет.

Для создания.DBG-файл в этом формате можно использовать REBASE.EXE, который в состав Win32 SDK. Обратитесь к документации Win32 SDK более подробные сведения.

Во время построения розничной Windows NT, отладочные символы удаляются из системные файлы и драйверы, хранимые в отдельных.DBG-файлы. Для этого Поскольку отладчик ядра Windows NT могут использовать их.Файлы DBG и предоставляют символы отладки, даже для оптимизации драйверов. Однако необходимо помнить, что Отладчик Visual C++ интегрированные не предназначен для защищенного режима отладки кода ядра.

Файлы символов Windows NT можно найти в каталоге отладки Каталог папке \SUPPORT на Windows NT розничной продажи компакт-диска. Эти файлы должны быть копирование компакт-диска на жесткий диск. Пользовательский режим отладки на конечном компьютере отладчик.В Windows NT должны присутствовать символы DBG \<winnt>\SYMBOLS каталог целевой системы (<winnt> — каталог где установлена система Windows NT). Новая программа установки Visual C++ значок «Установка символами NT системы» в группе программ. Его можно использовать для Автоматическое копирование.DBG-файлы с компакт-диска Windows NT Workstation диск для правильной структуры каталогов на жестком диске. Этот метод не работает для компакт-диска Windows NT Server 4.0, поскольку.DBG-файлы хранятся в сжатом формате. </winnt></winnt>

Для отладки ядра, поместите.DBG-файлы в дереве символы под каталог, указанный в переменной среды _NT_SYMBOL_PATH (для Например, C:\DEBUG\SYMBOLS). Отладка ядра с минимальным набором символы, состоящая из символов для всех драйверов (*.SYS) в Каталог SYMBOLS\SYS и символы для файла NTOSKRNL.EXE и HAL.DLL-Библиотеку Каталоги SYMBOLS\EXE и SYMBOLS\DLL соответственно. Для получения дополнительных сведений для отладки на уровне ядра, ссылки на обсуждения, касающиеся отладки ядра в Руководство программиста DDK Windows NT.

Хотя теоретически возможно преобразование.К началу файла PDB .DBG-файл не является нетривиальная задача. В настоящее время мы знаем из таких средств нет. Если мы слышать такие средства, мы обновит данной статьи в корпорации Майкрософт Знаний.

Свойства

Код статьи: 121366 - Последний отзыв: 1 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual C++ 2.1
  • Microsoft Visual C++ 4.0 Standard Edition
Ключевые слова: 
kbbug kbdebug kbide kbinfo kbmt KB121366 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:121366
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com