我正在尝试使用 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 绑定的误解,但我的问题与文件的本地编辑有关。
- 如果我删除一个文件并启动调试器
- VS 会弹出一个对话框,要求我确认是否要运行命令,并且会正确下载并打开源文件,我可以继续调试
- 如果我编辑或同步文件的不同版本,使其与 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