В чем разница между файлами .pdb, созданными в режиме выпуска и отладки?

#visual-studio #pdb-files

#visual-studio #pdb-файлы

Вопрос:

Я знаю, что Release и Debug — это просто разные конфигурации, а pdb — это средство для упрощения отладки, но в чем разница между файлами pdb, созданными в режиме выпуска и отладки при создании проекта

Комментарии:

1. Разницы нет. Не рекомендуется отлаживать код, созданный для выпуска, оптимизация делает отладчик неточным.

Ответ №1:

Нет никакой технической разницы, такой как формат файла или используемые функции.

Но поскольку двоичный файл оптимизирован в режиме выпуска, некоторые символы могут отсутствовать (например, локальные переменные) или изменяться (например, встроенные методы). Таким образом, вам нужен один PDB, соответствующий сборке debug, и другой PDB, соответствующий сборке release.

Иногда вы обнаруживаете следующее: компании создают общедоступные PDF-файлы, используя PDBCopy. Затем частная информация (например, частные методы) будет удалена. Это усложняет отладку, но все же лучше, чем ничего. Вы можете, например, использовать это, если вы публикуете API для разработчиков. Эта общедоступная / частная вещь может применяться как к сборке debug, так и к сборке release.