Version control MS源服务器:srcsrv.ini变量的重要性

Version control MS源服务器:srcsrv.ini变量的重要性,version-control,project,source-server,Version Control,Project,Source Server,MS源服务器技术使用名为srcsrv.ini的初始化文件。其中一个值标识源服务器位置,例如 关于这个值,文档留下了很多未回答的问题。首先,我无法找到值名称的意义,也就是说,左边是什么——我看不到它在其他任何地方使用。Hewardt&Pravat在书中说“左侧……代表项目名称”,但这似乎与MS的“MYSERVER”示例不符 左边的意义是什么?它还用在哪里?该值是否引用了一个服务器或一个项目,是每个服务器一个,还是每个项目一个?对于将来研究此问题的任何人,我从MS收到以下信息: 左侧的名称是版本的逻

MS源服务器技术使用名为srcsrv.ini的初始化文件。其中一个值标识源服务器位置,例如

关于这个值,文档留下了很多未回答的问题。首先,我无法找到值名称的意义,也就是说,左边是什么——我看不到它在其他任何地方使用。Hewardt&Pravat在书中说“左侧……代表项目名称”,但这似乎与MS的“MYSERVER”示例不符


左边的意义是什么?它还用在哪里?该值是否引用了一个服务器或一个项目,是每个服务器一个,还是每个项目一个?

对于将来研究此问题的任何人,我从MS收到以下信息:

左侧的名称是版本的逻辑名称 控制服务器。该名称也用于源索引符号文件中 (pdb)。例如,符号文件可能包含以下字符串值:

MYSERVER=mymachine1.sys mygroup.corp.microsoft.com:2003

源文件在pdb中的引用方式如下:

*MYSERVER*/base/myfolder/mycode.c
当SrcSrv启动时,它会查看SrcSrv.ini中的值;这些值覆盖.pdb文件中包含的信息:

“MYSERVER=mymachine.sys mygroup.corp.microsoft.com:1666”覆盖
“MYSERVER=mymachine1.sys mygroup.corp.microsoft.com:2003”

这允许用户配置调试器,以便在调试时使用替代源代码管理服务器。该信息记录在


因此,它是源服务器的逻辑名称,其值可以在调试时更改,以引用与创建PDB时最初使用的服务器不同的服务器。

调试器检索源的方式是通过srcsrv使用一些命令行实用程序。实用程序本身和使用的命令行因托管代码的存储库类型而异。阻止检索的问题之一是,当调用该命令行程序时,它会失败。
找出为什么要使用该命令!WinDBG中的sym噪音。它在诊断符号服务器问题时非常有用,但对于源索引PDB,它还将显示实际使用的命令行WinDBG。从“命令日志”窗口复制命令,并在CMD.EXE中运行该命令,以获取有关失败的更多详细信息。

@Chrisd-我可以就您使用源服务器工具的经验与您联系吗?当然可以-chris at covesoftware.com您所描述的内容记录在作为Windows调试工具包一部分的srcsrv.doc文件中。也就是说,它随windbg一起提供。我不确定是否有其他源代码管理服务器,但是
svnindex
可以工作,而无需在srcsrv.ini中指定任何内容。在PDB(
svn.pm
)中嵌入
SRCSRV
信息的实际perl脚本从
svn info
命令的输出中派生服务器名称,因此,另一台计算机上的winbdg总是可以从正确的位置提取源代码,而无需在srcsrv.ini中指定服务器。@迈克:我认为逻辑服务器名称的全部目的是允许用户指定一个不同于PDB文件中嵌入的源服务器。@DanielGehriger:是的,你说得对。重新阅读这个答案让我现在明白了这一点。我不确定我的评论是什么;-)
MYSERVER=\\machine\foobar