4

我们希望能够像删除物理构建区域一样删除符号服务器内容,symstore del 命令对事务 ID 起作用。这不得而知。

如何根据二进制或 PDB 提取事务 ID?是否有一个工具可以根据二进制或 PDB 路径删除 symstore 信息?

更多上下文 - 我们有许多带有发布和调试二进制文件和 PDB 的旧版本。这些都是我们不久前添加到我们的符号服务器的。因此,对于每个旧版本,都会为“发布”和“调试”存储一堆文件,它们都具有相同的版本号。存储的版本通常是“Build 7.0.0.200 (DEBUG)”和“Build 7.0.0.200 (Release)” 二进制文件将带有版本标记,通常我们希望同时删除 Release 和 Delete。

4

1 回答 1

2

更新 - synstore 查询模式似乎已损坏或 doco 未更新。MS Premier 支持不支持 symstore 问题。对我有用的解决方案:

脚步

  • 运行 symchk.exe 使用详细选项 /v 并将输出通过管道传输到文件
  • 查找给定 exe 或 dll 的 .pdb 引用
  • 然后在符号存储 pdb 目录中打开 refs.ptr
  • 然后在文件中第一个数字是事务 id 0000073271,file,"\path_replaced\Symbols\Products\Drivers\ASCII\2.00.10.000\ASCII.pdb",pri,,Y,,
  • 现在您有了交易 ID,您可以使用 symstore (phew) 删除符号

可耻的 MS 让这变得如此难以维护。

于 2017-12-18T05:08:50.443 回答