我们有几个C解决方案,我们使用批处理文件运行一些构建脚本,这些批处理文件为解决方案中的每个配置调用msbuild.exe.
这在3台开发人员机器和一台构建机器上运行良好,但其中一个项目在链接时开始挂起.这只发生在最新的四核机器上,我认为是2.8ghz.它在Windows Server 2003上运行,其他在XP或Vista上运行.
即使我更改bat文件中的构建顺序,也会始终如一地发生这种情况.
如果我从该计算机上的IDE运行构建它不会挂起.
关于可能导致这种情况的任何想法?
我正在使用Visual Studio 2008.
编辑:
我现在看到它挂起时运行如下:
> link.exe(2个实例)一个内存使用量大,内存使用量少的一个.
> vcbuild.exe
> msbuild.exe
> vcbuildhelper.exe
> mspdbsrv.exe
编辑:
exe文件被某些进程锁定,我无法删除或移动它.我可以删除pdb文件.
如果我只使用VCBuild.exe,我也有问题.
我决定尝试调试2个link.exe进程和mspdbsrv.exe进程.
当我将调试器/ MSdev IDE连接到它们时,我得到一个消息框,说明应用程序已死锁和/或“所有线程已退出”.
我想我将不得不检查该机器上msdev安装的服务包.
编辑:
在debug.htm输出文件中,我在生成link.exe命令后得到各种东西输出.
但是,对于发行版buildlog.htm,linke.exe行是最后一行.
当我发出:
link.exe @c:\\Release\RSP00000535202392.rsp /NOlogo /ERRORREPORT:QUEUE
这是发布版本日志中的最后一行.调试之后有更多的信息.
重新安装不同版本的Visual Studio并没有解决问题.
我将与微软公开一个问题/票.如果可以,我会发一个答案.