Visual studio pdb файл что это
Перейти к содержимому

Visual studio pdb файл что это

  • автор:

Символы

Символы полезны при отладке и в других диагностических средствах. Файлы символов будут иметь разное содержимое в зависимости от языка, компилятора и платформы. Если рассматривать их на высоком уровне, символы представляют собой сопоставление между исходным кодом и двоичным кодом, который создается компилятором. Эти сопоставления используются такими инструментами, как Visual Studio, и Visual Studio Code для разрешения номеров строк исходного кода или имен локальных переменных.

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

Формат переносимого PDB-файла в .NET

В .NET Core появился новый формат файлов символов (PDB) — переносимый PDB-файл. В отличие от традиционных PDB, которые предназначены только для Windows, переносимые PDB-файлы можно создавать и читать на всех платформах.

Что такое PDB-файл?

PDB-файл — это вспомогательный файл, создаваемый компилятором для предоставления другим средствам, особенно отладчикам, сведений о том, что находится в основном исполняемом файле и как он был создан. Например, отладчик считывает PDB-файл для сопоставления строки 12 в файле foo.cs правильному расположению в исполняемом файле, чтобы можно было установить точку останова. Формат файлов PDB для Windows существует уже давно, и он развился из других собственных форматов символов отладки, которые появились еще раньше. Он появился в виде формата для собственных программ (C/C++). После первого выпуска платформы .NET Framework формат Windows PDB был расширен для поддержки .NET.

Формат переносимого PDB-файла появился в .NET Core и используется по умолчанию при нацеливание на .NET Core и .NET 5+. При выборе платформа .NET Framework можно включить переносимые символы PDB, указав portable в файле проекта. Формат переносимого PDB основан на формате метаданных ECMA-335. Дополнительные сведения см. в разделе Переносимый PDB версии 1.0: спецификация формата. Средства диагностики могут использовать библиотеку System.Reflection.Metadata для чтения переносимых PDB-файлов (например, см. ).System.Reflection.Metadata.Document

Использование правильного формата PDB в конкретном сценарии

Ни переносимые PDB-файлы, ни PDB-файлы для Windows не поддерживаются всюду, поэтому необходимо подумать о том, где предполагается использовать и выполнять отладку проекта, чтобы решить, какой формат использовать. Если у вас есть проект, который вы хотите использовать и выполнять его отладку в обоих форматах, можно использовать разные конфигурации сборки и дважды собрать проект для поддержки обоих типов потребителей.

Поддержка переносимых PDB-файлов

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

  • Приложения, предназначенные для платформы .NET Framework 4.7.1 или более ранней версии: печать трассировок стека с обратным сопоставлением с номерами строк (например, на странице ошибки ASP.NET). Это не касается имен методов, не поддерживаются только имена исходных файлов и номера строк.
  • Использование декомпиляторов .NET, таких как ildasm или .NET reflector и ожидающих отображения сопоставлений строк исходного кода или имен локальных параметров.
  • Последние версии DIA и средства, использующие его для чтения символов, такие как WinDBG, поддерживают переносимые PDB-файлы, но более старые версии — нет.
  • Могут существовать более старые версии профилировщиков, которые не поддерживают переносимые PDB-файлы.

Для использования переносимых PDB-файлов в тех средствах, которые не поддерживают их, можно попробовать использовать средство Pdb2Pdb, которое преобразует файлы между форматами «переносимый PDB» и «PDB Windows».

Поддержка файлов PDB Windows

Файлы PDB Windows можно записывать и читать только в Windows. Использование PDB-файлов Windows для управляемого кода является устаревшим и используется только для устаревших средств. Рекомендуется использовать переносимые PDB вместо PDB-файлов Windows, так как некоторые новые функции компилятора реализованы только для переносимых PDB-файлов.

См. также раздел

  • Для скачивания файлов символов для двоичных модулей платформы можно использовать средство dotnet-symbol
  • Документация Windows по символам

Совместная работа с нами на GitHub

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

Файл с расширением .pdb

Иконка формата файла pdb

Файл PDB содержит базу данных и может быть связан с различным программным обеспечением, например, Microsoft Visual Studio, Quicken и другими продуктами. В файле хранится используемая приложением структурированная информация в его собственном формате. Поэтому такие файлы могут быть корректно открыты именно той программой, которой они принадлежит.

Как, чем открыть файл .pdb?

Инструкция — как выбрать программу из списка, скачать и использовать ее для открытия файла

Иконка формата файла pdb

2. 3D-структура молекул RCSB
Protein Data Bank File
Разработчик: Неизвестно

Заголовок и ключевые строки

HEX: 48 45 41 44 45 52 20
ASCII: HEADER

Подробное описание

Файл содержит трехмерную структуру атомов белка, нуклеиновой кислоты или иного химического соединения в формате международной организации Protein Data Bank, который широко используется учеными биологами и биохимиками. База данных Protein Data Bank постоянно обновляется и является общедоступной, включая в основном первичные данные о структуре биологических молекул. Файл PDB может быть открыт в некоторых специализированных приложениях, например, QuteMol.

Формат файла PDB — описание, как открыть?

Файлы формата PDB открываются специальными программами. Существует 4 типа форматов PDB, каждый из которых открывается разными программами. Чтобы открыть нужный тип формата, изучите описания файлов и скачайте одну из предложенных программ.

Чем открыть файл в формате PDB

Формат PDB может быть нескольких основных модификаций:

  • — расширение PDB (полн. Palm Desktop Database File) представляет собой файл базы данных, ассоциирующийся с платформой Palm OS. ОС Palm – ранняя операционная система, функционирующая на базе различных мобильных устройств. Принципиальная ее особенность – это фактическое отсутствие файловой системы, поэтому хранение и обработка данных производится непосредственно в памяти в рамках СУБД.

Данный формат может быть присвоен как файлам, содержащим набор структурированных данных, так и обычным программным приложениям, которые прошли процесс синхронизации на базе ОС Palm. По своей сути, расширение PDB – репозиторий, которое может содержать практически любой тип данных: текстовый документ, исполнительную программу, файл базы данных и.т.д. Отличить тип внутреннего формата файла ОС Palm позволяет уникальный заголовок в виде специального кода. В качестве PDB формата могут выступать даже электронные справочники (чаще всего MOBI).

Форматирование PDB расширения поддерживается только на базе “родной” ОС Palm, однако воспроизвести его на платформе другой операционной системы можно с использованием некоторых браузеров, самыми популярными среди которых являются XnView и Palm Desktop. Допускается и сетевая загрузка PDB файла посредством специализированных Интернет-ресурсов.

  • формат PDB (полн. Protein Data Bank) может выступать в качестве “Базы данных протеинов и белков”. Protein Data Bank – всемирно признанный реестр данных всевозможных типов белков и протеинов. Трехмерные координаты атомов, химический состав, структура компонентов молекул белка – это лишь самый незначительный перечень ключевых параметров, которые может включать в себя стандартный PDB файл.

Основное практическое назначение данного формата – это хранение и обмен данными между пользователем и международным реестром Protein Data Bank.

PDB файлы доступны для визуализации, форматирования и графического наполнения с использованием целого ряда специализированных программных комплексов молекулярного анализа, например, Avogadro или Richardson Lab KiNG.

  • PDB файлы также могут относится к категории файлов Program Database (файлы базы данных). Особенностью формата PDB является уникальная структура данных, которая распознается только “родным” для него приложением. Например, PDB файл, скомпилированный посредством плагина Pegasus, будет не доступен в Microsoft Visual Studio.
  • расширение PDB (полн. PowerDesigner Database Backup File) представляет собой файл резервной копии базы данных, сгенерированной в PowerDesigner. Основное практическое назначение PDB файла – это восстановление поврежденной или утраченной БД.

Программы для открытия PDB файлов

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

Для случаев, когда PDB файл представляет собой файл базы данных, ассоциирующийся с платформой Palm OS, можно воспользоваться следующими программными утилитами:

  • в ОС Windows используются DC & Co iSilo, Fictionwise eReader, LLUSoft PDB Explorer, XnView и Palm Desktop;
  • на базе ОС Mac PDB будет доступен с применением программных плагинов Fictionwise eReader, PorDiBle, txt2pdbdoc, XnView, Planamesa NeoOffice и Lemkesoft GraphicConverter.

Примечательно, что расширение адаптировано и для использования на платформе Linux c помощью программных приложений txt2pdbdoc и XnView.

Когда PDB файл применяется в качестве “Базы данных протеинов и белков”, могут быть использованы следующие утилиты:

  • в ОС Windows – Richardson Lab KiNG, RasMol, Microsoft Internet Explorer with JmolApplet or Protein Workshop applet, Jmol и Avogadro;
  • на базе ОС Mac PDB формат будет доступен с применением программных плагинов Apple Safari with JmolApplet or Protein Workshop applet и Avogadro.

Следует отметить, что расширение может использоваться и на платформе Linux c помощью целого комплекса программных приложений, включая Mozilla Firefox with JmolApplet or Protein Workshop applet, Richardson Lab KiNG, RasMol, Jmol и Avogadro.

Если PDB формат относится к категории файлов Program Database (файлы базы данных), то для редактирования файла в ОС Windows можно использовать программы Intuit Quicken, Microsoft Visual Studio 2010 и Mint.com.

Редактирование PDB файлов поддерживается и на базе ОС Mac с помощью Mint.com и Intuit Quicken Essentials for Mac.

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

Если при открытии расширения PDB возникает ошибка, причины могут заключаться в следующем:

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

Конвертация PDB в другие форматы

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

С помощью интегрированных в Richardson Lab KiNG, Jmol и Avogadro конвертеров будет доступна трансляция данных:

Для того чтобы транслировать данные из PDB, можно воспользоваться одним из онлайн-конвертеров, например, Onlineconvertfree.

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

Почему именно PDB и в чем его достоинства?

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

  • файла базы данных, ассоциирующийся с платформой Palm OS;
  • Базы данных протеинов и белков”, где установлены трехмерные координаты атомов, химический состав, структура компонентов молекул белка;
  • файлов Program Database (файлы базы данных);
  • резервной копии базы данных.

Тип файла: Palm Desktop Database File Разработчик: Palm Категория: Базы данных

Стандартный формат данных, используемый несколькими различными программами на устройствах PDA на основе Palm. Может хранить различные типы данных, такие как электронные книги, документы обработки текста, крупноформатные таблицы, базы данных, карты и файлы изображений.

Чтобы определить, в какой программы был создан файл PDB, откройте его в текстовом редакторе. Коды Типа и Создателя должны размещаться в заголовке файла вверху документа.

Чем открыть файл в формате PDB (Palm Desktop Database File)

Запрос PDB-файла

Файл базы данных программы (расширение PDB) — это двоичный файл, содержащий сведения о типе и символьной отладке, собранные в ходе компиляции и связывания проекта. PDB-файл создается при компиляции программы C/C++ с помощью /ZI или /Zi или Visual Basic, Visual C# или программы JScript с параметром /debug. Файлы объектов содержат ссылки на PDB-файл для отладки информации. Дополнительные сведения о PDB-файлах см. в разделе PDB Files. Приложение DIA может использовать следующие общие шаги для получения сведений о различных символах, объектах и элементах данных в исполняемом изображении.

Запрос PDB-файла

  1. Получите источник данных, создав интерфейс IDiaDataSource .
CComPtr pSource; hr = CoCreateInstance( CLSID_DiaSource, NULL, CLSCTX_INPROC_SERVER, __uuidof( IDiaDataSource ), (void **) &pSource); if (FAILED(hr))
wchar_t wszFilename[ _MAX_PATH ]; mbstowcs( wszFilename, szFilename, sizeof( wszFilename )/sizeof( wszFilename[0] ) ); if ( FAILED( pSource->loadDataFromPdb( wszFilename ) ) ) < if ( FAILED( pSource->loadDataForExe( wszFilename, NULL, NULL ) ) ) < Fatal( "loadDataFromPdb/Exe" ); >> 
CComPtr psession; if ( FAILED( pSource->openSession( &psession ) ) )
CComPtr pglobal; if ( FAILED( psession->get_globalScope( &pglobal) ) )
CComPtr pTables; if ( FAILED( psession->getEnumTables( &pTables ) ) ) < Fatal( "getEnumTables" ); >CComPtr < IDiaTable >pTable; while ( SUCCEEDED( hr = pTables->Next( 1, &pTable, &celt ) ) && celt == 1 ) < // Do something with each IDiaTable. >

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

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