设置符号服务器给我的是什么?

ang*_*son 19 .net symbol-server

我读完了这篇文章:设置一个符号服务器,详细介绍了如何为我的团队设置共享符号服务器.

我想知道的是将自己的符号添加到商店中.

我的问题是:我从中获得了什么?

我们假设我有以下构建过程:

  1. 我将更改提交到我的Subversion存储库
  2. TeamCity CI工具可以获取这些更改并进行构建+单元测试
  3. 二进制文件被提交到不同的Subversion存储库(用于我做的应用程序的引用)

如果我添加到上面的第三点,将构建的文件添加到符号存储区的能力,这给了我什么?

如果我创建一个程序,并引用提交到存储库的二进制文件,我同时获得.dll,.pdb和.xml(intellisense支持),所以我的堆栈跟踪似乎已经包含了我需要的所有内容.

这是分发.pdb的替代品吗?

或者仅仅是因为我需要在WINDBG中打开.DMP文件并分析其堆栈,我可能根本没有可执行文件,只有其他人提供的.DMP文件?(也就是说,exectuable可能来自旧版本,我只获得.DMP文件)

Han*_*ant 18

不显而易见:符号服务器为您提供符号.因此,当您的代码崩溃并烧毁时,您可以调试从客户那里获得的小型转储.对客户遇到的实际问题进行事后分析绝对至关重要.因为当您的几个月前的代码版本有机会在客户的计算机上崩溃时,您已经进步了几个版本.

真正的努力不是设置符号服务器,而是确保它具有正确的pdb文件,以便为您提供良好的调试机会.控制构建过程是该等式的关键部分.

  • 我认为这是我的答案.对于我的团队,我们的测试人员和用户,正常的崩溃报告已经包含了我们需要的所有内容,但最近我一直在查看一些使用WINDBG的高内存使用问题,如果我从客户端获得转储文件,是不止一个中间版本旧,我将没有本地文件.这意味着这是我可以使用符号服务器的区域. (2认同)