Подтвердить что ты не робот

Сколько информации содержатся в файлах pdb? (С#/.NET)

Разумно ли перераспределять файлы pdb вместе с коммерческим приложением?

Иногда я использую трассировку стека для получения более подробных журналов отчетов об ошибках из развернутых приложений; может ли эта функциональность быть достигнута без использования этих файлов?

Кроме того, сколько намеков исходного исходного кода содержит эти файлы? Было бы проще перепроектировать мое приложение, используя его?

4b9b3361

Ответ 1

В основном он добавляет информацию для:

  • Все непубличные типы, интерфейсы, структуры, классы
  • Локальные переменные в функциях
  • Имена исходных файлов для соответствующего кода и соответствующих номеров строк в исходном коде.

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

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

О, вы отредактировали, чтобы добавить С#/. NET, поэтому я не уверен, что применим "PDBSTRIPPED". Однако .NET-приложения очень легко обратный инженер даже без какой-либо символьной информации. Я бы не прочь включить их в .NET-проект.

Ответ 2

Вы можете попробовать dia2dump посмотреть содержимое.

Ответ 3

Управляемые файлы .pdb содержат следующую информацию:

  • Имена всех локальных переменных
  • Имена всех файлов исходного кода и отображение из инструкций IL на строки в этих файлах.

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

Источник: PDB файлы: что каждый разработчик должен знать.