Что означает «Создать информацию отладки» в VB / C #? - PullRequest
20 голосов
/ 14 января 2009

Что означает «Создать информацию отладки» в VB / C #?

Разница между "none" и "только для pdb" довольно очевидна. Но что насчет "pdb-only" и "full"?

Ответы [ 2 ]

21 голосов
/ 14 января 2009

Компилятор создаст для вас файл pdb при сборке, который содержит символы для вашего приложения и может использоваться отладчиком Visual Studio и внешними отладчиками, чтобы легко найти, где что-то пошло не так.

«Полный» означает, что полная информация об отладке будет сгенерирована при создании приложения, поэтому сам код будет отлаживаемым, включая [DebuggableAttribute], который связывает код с информацией об отладке, например, символы.

«только для pdb» означает, что при сборке будет сгенерирована только информация об отладке pdb, что не добавит [DebuggableAttribute] к скомпилированному коду, который используется компилятором JIT для связывания кода с информацией отладки.

Более подробную информацию можно найти здесь

1 голос
/ 11 июля 2017

С Должен ли я скомпилировать сборки выпуска с отладочной информацией как "полная" или "только для pdb"?

Также см. https://docs.microsoft.com/en-us/cpp/build/reference/debug-generate-debug-info

Я бы собрал только pdb. Вы не сможете прикрепить отладчик к выпущенному продукту, но если вы получили аварийный дамп, вы можете использовать Visual Studio или WinDBG для проверки трассировки стека и дампов памяти во время крушения.

Если вы используете full, а не только pdb, вы получите то же самое преимущества, за исключением того, что исполняемый файл может быть прикреплен непосредственно к отладчик. Вам необходимо определить, является ли это разумным, учитывая ваши продукт и клиенты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...