Формат PDB-файлов
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 04.06.15 19:46
Оценка:
Коллеги,

Кто-нибудь богат информацией о внутреннем устройстве PDB-файлов (тех, которые с отладочной информацией)?

Что уже проштудировал:

* http://moyix.blogspot.fr/2007/08/pdb-stream-decomposition.html
* http://moyix.blogspot.fr/2007/10/types-stream.html
* http://www.debuginfo.com/articles/debuginfomatch.html
* http://www.informit.com/articles/article.aspx?p=22685
* https://code.google.com/p/pdbparser/wiki/MSF_Format
* http://blog.ctaggart.com/2013/03/assembly-to-pdb-to-source-files.html
* http://ctaggart.github.io/SourceLink/
* http://www.godevtool.com/Other/pdb.htm

Буду очень благодарен любой другой информации.
HgLab: Mercurial Server and Repository Management for Windows
Re: Формат PDB-файлов
От: ins-omnia СССР  
Дата: 04.06.15 20:25
Оценка: 4 (1)
Здравствуйте, Нахлобуч, Вы писали:

Н>Кто-нибудь богат информацией о внутреннем устройстве PDB-файлов (тех, которые с отладочной информацией)?

Только .NET или те что генерит cl.exe?

Либа, которая умеет их читать (только .NET): https://github.com/jbevain/cecil/tree/master/symbols/pdb/Microsoft.Cci.Pdb

Нормального человекочитаемого описания формата по-моему нет.
Откуда же его [независимый суд] взять, если в нем такие же как мы? (c) VladD2
Re[2]: Формат PDB-файлов
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 04.06.15 20:40
Оценка:
Здравствуйте, ins-omnia, Вы писали:

IO>Только .NET или те что генерит cl.exe?


.NET-ные хорошо было бы уметь читать поподробнее. Базовые вещи я уже научился расковыривать, но осталось еще немало белых пятен.

IO>Либа, которая умеет их читать (только .NET): https://github.com/jbevain/cecil/tree/master/symbols/pdb/Microsoft.Cci.Pdb


Спасибо, поковыряю.
HgLab: Mercurial Server and Repository Management for Windows
Re: Формат PDB-файлов
От: pykd_team  
Дата: 05.06.15 09:37
Оценка:
Н>Кто-нибудь богат информацией о внутреннем устройстве PDB-файлов (тех, которые с отладочной информацией)?

А нужно именно самому разбирать pdb файлы? Почему не воспользоваться msdia или dnghelp ом?
http://pykd.codeplex.com
Re[3]: Формат PDB-файлов
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 08.06.15 06:17
Оценка: 4 (1)
Здравствуйте, Нахлобуч, Вы писали:

IO>>Либа, которая умеет их читать (только .NET): https://github.com/jbevain/cecil/tree/master/symbols/pdb/Microsoft.Cci.Pdb

Н>Спасибо, поковыряю.

Возможно также окажется полезным Common Compiler Infrastructure: Metadata API — там 2 подпроекта для работы с PDB: PdbReader И PdbWriter.
Re[2]: Формат PDB-файлов
От: Нахлобуч Великобритания https://hglabhq.com
Дата: 08.06.15 13:46
Оценка:
Здравствуйте, pykd_team, Вы писали:

_>А нужно именно самому разбирать pdb файлы? Почему не воспользоваться msdia или dnghelp ом?


COM я оставлю на случай совсем уж безвыходной ситуации.
HgLab: Mercurial Server and Repository Management for Windows
Re[3]: Формат PDB-файлов
От: pykd_team  
Дата: 08.06.15 14:33
Оценка:
Н>COM я оставлю на случай совсем уж безвыходной ситуации.

Все не так плохо . DIA относительно удобная штука.

Но если что, есть у нас вот такой проект: http://kdlibcpp.codeplex.com. В основном, это фрйемворк для написания расширений под windbg. В частности, есть кой-какие высокоуровневые обертки над DIA. API немного специфичное, под задачу делалось. Если что, никакой поддержки .Net нету.
http://pykd.codeplex.com
Отредактировано 08.06.2015 14:34 pykd_team . Предыдущая версия .
Re: Формат PDB-файлов
От: alexzz  
Дата: 23.06.15 13:30
Оценка:
Здравствуйте, Нахлобуч, Вы писали:

Н>Кто-нибудь богат информацией о внутреннем устройстве PDB-файлов (тех, которые с отладочной информацией)?


В составе Mono есть утилита pdb2mdb, которая конвертирует майкрософтовские pdb в формат Mono. Может, её исходники чем-то помогут: https://github.com/mono/mono/tree/master/mcs/tools/pdb2mdb
Re: Формат PDB-файлов
От: MT-Wizard Украина  
Дата: 23.06.15 15:31
Оценка: 6 (2) +1
Здравствуйте, Нахлобуч, Вы писали:

Н>Коллеги,


Н>Кто-нибудь богат информацией о внутреннем устройстве PDB-файлов (тех, которые с отладочной информацией)?


Н>Что уже проштудировал:

Н>...
Н>Буду очень благодарен любой другой информации.

Не рекомендую парсить PDB напрямую, по следующим причинам:

— Есть библиотеки от MS для работы с ними — DIA SDK — высокоуровневая, публично документированная. mspdb* — низкоуровневая, без документации, может делать с PDB вообще всё
— Команда Рослина уже поменяла формат, пишет в пдб совершенно не так как раньше туда писал cl.exe и csc.exe
— В новой студии добавили mini-pdb формат, он достаточно не такой как был раньше — но писать его намного быстрее
— После релиза 2015й студии мы думаем серьёзно переработать формат PDB — т.к. резерв текущего уже чуть ли не полностью выбран, а при этом есть куча проблем с масштабируемостью

Все эти изменения учитываются в DIA & mspdb, а вот самописные библиотеки развалятся
А ти, москалику, вже приїхав (с)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.