在 C++ MSVS2008 中工作,我遇到了越来越烦人的问题:断点在错误的行上执行、未捕获等。这是一个包含数千个文件的非常大的工作空间,所以我“忍受了”。
我经历了“标准”的东西(干净,“深度”干净,手动删除*.idb
, *.pdb
, *il*
等)它没有解决“错误行断点”问题,但至少可以编译并且我可以运行/调试。
然后,(由于不相关的原因),我创建了一个命令行程序,它发出一个compile-one-CPP-to-OBJ命令,并得到一个奇怪的错误:
cl : Command line error D8037 : cannot create temporary il file; clean temp directory of old il files
我以前从未听说过这个问题,因此通过网络搜索,我访问了 Microsoft 网站,其中详细介绍了该错误:
http://msdn.microsoft.com/en-us/library/bb385201(v=VS.90).aspx http://msdn.microsoft.com/en-us/library/bb385201%28v=VS.90%29.aspx
嗯,嗯?在我的系统中TMP
dir,显然太多了_CL_hhhhhhhh.ss
文件。正在搜索,是的,我确实有6,063
该目录中这些文件的数量,可以追溯到大约一年前。
我以前从未听说过这些文件(“临时编译器文件”)。搜索微软网站发现这个错误可能发生在at leastMSVS 2005、2008、2010。作为“临时”文件,我假设有某种“清理”或“回收”算法?
多少_CL_hhhhhhhh.ss
文件有限制吗? (我在 6,063 的一种情况下遇到了这个错误。)
当我从 EXE 中而不是从 MSVS IDE 中执行“编译”时,为什么会看到此错误? (当我直接从命令行执行“编译”时,我也没有看到此错误。)
我是否应该通过定期清理此类文件来对我的开发计算机进行“维护”?
在查找和删除时我还需要考虑哪些其他“垃圾”文件?
顺便说一句,我知道 MSVS 项目 GUID 缓存在注册表中,以便 IDE 可以“查找”手动移动的项目文件以“修复”与其他项目文件的链接/依赖关系。如果有人有建议,我也想知道如何清理它们。
This does导致最终的问题,“在开发机器上使用 MSVS 会积累哪些隐藏的问题?”
Win7/64、C++ MSVS 2008、NTFS