1

我已经用源服务器信息索引了一个 PDB 文件。pdbstr 实用程序转储出以下 srcsrv 流:

SRCSRV: ini ------------------------------------------------
VERSION=2
INDEXVERSION=2
VERCTRL=http
SRCSRV: variables ------------------------------------------
HGSERVER=http://repository-srv
SRCSRVVERCTRL=http
REPONAME=clr_foundations
HTTP_EXTRACT_TARGET=%hgserver%/%reponame%/raw-file/%var3%/%var2%/%fnfile%(%var1%)
SRCSRVTRG=%http_extract_target%
SRCSRVCMD=
SRCSRV: source files ---------------------------------------
C:\workspace\clr_foundations_build\clr_foundations\Tests\native_rpc_server\main.cpp*Tests\native_rpc_server*776954c6675e
SRCSRV: end ------------------------------------------------

如您所见,这指示调试器使用 HTTP 网关连接到 Mercurial 服务器。将此 PDB 文件与 WinDbg 一起使用时,调试器会提示我输入基本 HTTP 凭据以访问 repository-srv 并成功显示源文件。(相同的 URL 也可以在浏览器窗口中使用,或者使用 curl 等命令行工具。)

但是,当将此 PDB 文件与 Visual Studio 2012 一起使用时(并在工具 > 选项 > 调试中启用源服务器支持),调试器不会从源服务器解析文件,提示我指向磁盘上的文件,并显示输出窗口中的以下错误:

SRCSRV: Source server cannot retrieve the source code for file 'c:\workspace\clr_foundations_build\clr_foundations\tests\native_rpc_server\main.cpp' in module 'C:\workspace\clr_foundations_build\clr_foundations\Tests\native_rpc_server\Win32\Debug\native_rpc_server.exe'.

没有额外的错误信息,所以我不知道如何进一步诊断。我还能做些什么来获得更详细的错误信息,或者我应该采取另一种方法吗?

4

2 回答 2

0

您需要运行提升的 Visual Studio 2012,然后它才能工作。

于 2014-09-03T13:47:03.667 回答
0

不知道你有没有解决问题。

最近几天我遇到了同样的问题,可以通过在 Tools/Options/Debugging/Symbols 下指定一个缓存目录来解决它。我认为 VS 需要知道在哪里保存下载的源文件。

于 2014-08-29T07:05:16.567 回答