2015-12-21 2 views
1

Я использую компилятор MSVC 2013, отладчик CDB и Qt Creator/qmake под Windows 7. Я только что обнаружил, что каталог сборки для одного из моих проектов является колоссальным 16 гигабайтами. Преступник - это подкаталог с именем «srv», который содержит различные файлы .pdb. Любопытная часть состоит в том, что существуют файлы pdb для всех типов системных библиотек, таких как commctl32, ntdll, user32 и т. Д. Мне действительно нужно создавать pdb для этих системных файлов, или это некоторые настройки, которые я могу отключить, или это Жук? Я не планирую отлаживать user32.dll, поэтому я не вижу причины генерировать отладочную информацию.Почему я получаю так много .pdb-файлов?

+0

Звучит как каталог кеша для файлов, выгруженных из сервера символов при отладке. Символы используются для генерации трассировки стека, даже если вы не напрямую отлаживаете эти модули. Я не слишком хорошо знаком с QtCreator, но, вероятно, есть параметр, позволяющий кэшировать эти файлы в одном глобальном местоположении, чтобы все ваши проекты QtCreator использовали один и тот же кеш вместо отдельных экземпляров. Если это кеш, вы можете удалить его, но отладчик, скорее всего, потянет их снова через Интернет по мере необходимости. –

+1

«Я не планирую отлаживать user32.dll» Нет, но вы планируете узнать, какая функция user32 врезалась в вашу программу, не так ли? Для этого нужны эти файлы. Отладка без них - не забава. Современное развитие требует достаточного дискового пространства - привыкнуть к нему. –

ответ

4

Файлы pdb для commctl32, ntdll, user32 не генерируются (поскольку эти библиотеки не скомпилированы вами). Они автоматически загружаются при отладке приложений для решения адресов памяти в именах функций (т. Е. При подготовке считываемой трассировки стека).

Вы можете настроить это в настройках VS2013, Debugging, Symbols. Там вы можете отключить автоматическую загрузку и/или изменить папку для размещения файлов. Предположим, что это также можно отключить/настроить для других отладчиков.

«Кэш символов» растет: всякий раз, когда вы устанавливаете обновления Windows, новые библиотеки могут быть развернуты на вашем компьютере, а в последующих сеансах отладки загружаются новые символы. Если у вас быстрое подключение к Интернету, нет никакой проблемы в очистке кеша.

Смежные вопросы