我在Windows 7下使用MSVC 2013编译器,CDB调试器和Qt Creator/qmake。我刚刚发现我的项目之一的构建目录是高达16 千兆字节。罪魁祸首是名为“srv”的子目录,其中包含各种.pdb文件。好奇的是,对于各种系统库,如commctl32,ntdll,user32等,都有pdb文件。我真的需要为这些系统文件生成pdb,还是可以关闭一些设置,或者是否一个错误?我不打算调试user32.dll,所以我看不到任何理由为其生成调试信息。为什么我得到这么多.pdb文件?
1
A
回答
4
没有生成commctl32,ntdll,user32的pdb文件(因为这些库不是由您编译的)。在调试应用程序以将内存地址解析为函数名称(即,准备可读的堆栈跟踪)时,会自动下载这些内容。
您可以在VS2013设置,调试,符号中进行配置。在那里你可以禁用自动下载和/或更改放置文件的文件夹。假设这也可以被禁用/配置为其他调试器。 “符号缓存”增长:无论何时安装Windows更新,新库都可能部署到您的计算机,并且在您的下一个调试会话中会下载新的符号。如果你有一个快速的互联网连接,清空缓存没有问题。
相关问题
- 1. 为什么我得到这个错误我app文件
- 2. 为什么我得到这么多的NSUserDefaultsDidChangeNotification
- 3. 为什么我得到这么多br标签
- 4. HTML5样板为什么我得到这么多的CSS错误
- 5. 版本生成.pdb文件,为什么?
- 6. 为什么我得到这个NoMethodError
- 7. 为什么我在这里得到“ArrayIndexOutOfBoundsException”?
- 8. Java - 为什么我得到这个NullPointerException?
- 9. 为什么我得到这个错误?
- 10. 为什么我得到这个nhibernate NonUniqueObjectException?
- 11. 我为什么得到这个NaN?
- 12. 为什么我得到这个错误?
- 13. 为什么我得到这个数字?
- 14. 为什么我得到这个错误?
- 15. 为什么我得到这个ClassCastException?
- 16. 为什么我得到这个NullReferenceException?
- 17. 为什么我得到这个错误?
- 18. 为什么我得到这个错误
- 19. 为什么我在这里得到java.lang.StackOverflowError?
- 20. 为什么我在这里得到StackOverflowError?
- 21. 为什么我得到这个错误?
- 22. 为什么我得到这个JSONDecodeError?
- 23. 为什么我得到这个JspException?
- 24. 为什么我得到这个错误?
- 25. 为什么我得到这个NullPointerException?
- 26. 为什么我得到这个错误?
- 27. 为什么我得到这个java.lang.NumberFormatException?
- 28. 为什么我得到这个错误?
- 29. 为什么我得到这个错误?
- 30. 为什么我得到这个错误?
听起来像调试时从符号服务器拉出的文件的缓存目录。即使您不直接调试这些模块,这些符号也可用于生成堆栈跟踪。我对QtCreator不太熟悉,但可能会有一个设置,以便您可以将这些文件缓存在单个全局位置,以便您的所有QtCreator项目都将使用相同的缓存而不是单独的实例。如果它是一个缓存,你可以删除它,但调试器可能会在需要时通过互联网再次关闭它们。 –
“我不打算调试user32.dll”不,但是您会计划知道程序崩溃的user32函数,对不对?这就是这些文件的用途。没有它们进行调试并不好玩。现代开发需要充足的磁盘空间 - 习惯它。 –