0

我正在尝试使用 Visual Studio 2010 设置源索引,以及使用 Perforce 作为源控制的 Windows SDK(在我的情况下为 Windows 8)中包含的 perl 脚本

对于 Windows 8 SDK
C:\Program Files (x86)\Windows Kits\8.0\Debuggers\x64\srcsrv

来自 Bruce Dawsons 博客(链接如下),它可能位于此处用于较旧的 sdks
C:\Program Files\Debugging Tools for Windows (x64)\srcsrv


我的 pdb 正在被索引,手动查看 pdb 以及运行以下命令将正确提取源文件。

srctool -x test.pdb

这可能是对它如何与 Visual Studio 绑定的误解,但我的问题与文件的本地编辑有关。

  1. 如果我删除一个文件并启动调试器
    • VS 会弹出一个对话框,要求我确认是否要运行命令,并且会正确下载并打开源文件,我可以继续调试
  2. 如果我编辑或同步文件的不同版本,使其与 pdb 不匹配
    • 我没有得到这个对话框,结果,VS 显示“没有可用的源”窗口

从 MSDN 网站(也链接在下面):

当本地机器上没有源代码或PDB文件与源代码不匹配时,可以使用Source Server帮助调试应用程序。

似乎第二种情况应该导致VS运行命令来获取源代码,但它似乎对我不起作用。案例#1 正在按我的预期工作,但我需要先让案例#2 工作,然后这才有用。此外,我启用了“将源服务器诊断打印到输出窗口”,我没有收到任何错误或警告。

当 pdb 被索引时,第二种情况是否应该触发源文件版本的下载?还是我误解了什么?

谢谢!

编辑
这正如我在windbg中所期望的那样工作,所以这似乎特定于Visual Studio

参考资料:
http ://www.altdevblogaday.com/2011/11/08/source-indexing-is-underused-awesomeness/ http://msdn.microsoft.com/en-us/library/vstudio/ms242029(v= vs.100).aspx

4

1 回答 1

1

感谢您识别此问题。我们已经解决了这个问题,并且更改将反映在 Visual Studio 的未来版本中(不是在 2013 的更新中)。我们希望此修复可以改善您使用我们的工具和技术的体验。
具体来说,我们已经修改了调试器的行为以匹配 WinDbg 在这种情况下所做的事情。如果磁盘上的临时文件与您正在调试的文件不匹配,我们将允许您从源服务器下载匹配的源文件。

于 2014-04-16T18:36:24.773 回答