【发布时间】:2014-11-05 13:32:57
【问题描述】:
您是否曾经在 C++ 项目编译中遇到过缓慢的链接过程(我使用的是 VS2013)?构建 5 分钟后,我的链接过程需要 15 分钟。重建或 Visual Studio 重新启动不能解决问题。 任务管理器显示 mspdbsrv.exe 占用了一个完整的核心(4 核心上占 25%),并且 pdb 文件的创建非常缓慢,Kb 后达到 50 Mb。 附加信息:
- 同一项目在另一台计算机上在可接受的时间内构建和链接。
- 防病毒已禁用
- 我已尝试更改 pdb 文件创建位置:没有成功
- 我已将链接器输出设置为 Verbose,但它会在一个调试行处停止,然后一直在那里等待。
- VS2013 更新到 SP4
- 我的笔记本电脑上显示的硬盘活动大部分已关闭,因此磁盘上没有完整的活动。
- 我运行的是 Windows 7 Pro。
- VS2013 以管理员权限运行
谢谢。
【问题讨论】:
-
Mspdbsrv.exe烧100%核心当然是问题。很难想出一个理由,它已经稳定了很长一段时间。使用调试器进行查看,启动另一个 VS 实例并使用 Tools + Attach to Process 附加到进程,而它正在被奴役。寻找诸如过多异常之类的东西,在重复使用 Debug + Break All 时查看堆栈跟踪以猜测它可能挂在哪里。 一些东西向我们展示。强烈建议致电 Microsoft 支持,他们会要求您记录 ETW 跟踪并将其发送给他们。
-
您是否尝试过以管理员身份运行 VS2013?
-
是的,完成了。我将添加到上面的列表中
-
@HansPassant:使用“附加到进程”功能然后点击 Break All 位于库 C:\Program Files\Microsoft Visual Studio 12.0\VC\bin\mspdbcore.dll 中的某个位置。
-
请检查“Active configuration->C/C++->General->Multiprocess compilation 下的并行编译设置,VS2013默认关闭。也可能需要更改代码生成->启用最小重建到编号。
标签: visual-studio-2013 msbuild linker build-process pdb-files