SymStore - 添加多个文件

3

我正在尝试使用symstore.exe将一堆.pdb文件添加到符号服务器上。并非目录中的所有.pdb文件,而是其中的一部分(根据日期选择)。

为了在单个事务中添加它们,我使用了symstore ... /f '@filelist.txt'命令,其中filelist.txt是一个包含真实.pdb文件的文本文件,每行一个 - 就像命令行帮助所说的那样:

/f File         Network path of files or directories to add.
                If the named file begins with an '@' symbol, it is treated
                as a response file which is expected to contain a list of
                files (path and filename, 1 entry per line) to be stored.

(这些信息仅存在于symstore的命令行帮助中,而不在相应的在线帮助页面中。)

这根本不起作用,它存储0个文件。我认为这个功能——从文件列表中添加多个文件——并没有真正实现。

有人成功使用symstore.exe将文件列表作为单个事务添加吗?


你找到了如何做吗? - honzajscz
1
3年过去了,微软文档仍然没有更新(我刚刚提交了一个变更的拉取请求)。您的帖子对我很有帮助!谢谢! - miki
1个回答

6

最后,我已经弄清楚了。带有 @ 符号和响应文件的特性实际上是受支持的。

在使用 symstore 的 /o 开关进行调试输出后,我注意到错误输出中有一个奇怪的字符 ÿþC

PS C:\Development\symstore add /f @C:\temp\dllsAndPdbsToAdd.txt /s C:\temp\symstore\ /t AwesomeProject 
SYMSTORE MESSAGE: 0 alternate indexers registered
SYMSTORE MESSAGE: LastId.txt reported id 8
SYMSTORE MESSAGE: Final id is 0000000008
SYMSTORE ERROR: Class: Internal. Desc: Failed to index C:\Development\AwesomeProject\ÿþC. Line: 169. Error 32

所以我在Notepad++中将@C:\ temp \ dllsAndPdbsToAdd.txt文件的编码更改为ANSI,然后它就正常工作了。


要将文件存储在兼容的编码中,可以使用以下 PowerShell 命令:“$DllsPaths |Out-File C:\temp\dlls.txt -Encoding ascii”。 - honzajscz
1
谢谢你的回答!我已经想出了解决方法(通过添加文件夹中的所有文件),但这仍然很有价值。这是另一个人们将标准功能变成自己方式的好例子(证明比通常的方式更糟糕)。 - Steed
看起来像是UTF-8的BOM。 - Cameron

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接