我有一个程序可以在异常情况下生成小型转储。我已经存档了 .exe、.pdb 和源文件的副本。当我从客户端收到文件时,我发现让 Visual Studio 找到 .pdb 文件并分析转储的唯一方法是将存档文件放置在与原始构建在磁盘上发生的位置完全相同的位置.
我曾尝试将 .pdb 文件的路径添加到 Visual Studio 的调试符号目录中,但该路径始终被忽略。 .exe文件里的路径好像改用了
这非常不方便,因为这意味着将当前正在开发的代码移动到某个临时位置,而归档代码代替它进行崩溃转储分析。
是否有一些简单的方法(即不设置符号和源服务器)指示 Visual Studio 在原始构建位置以外的某个位置访问调试上下文?
你需要的是一个符号服务器或至少一个具有相同结构的目录。如果你有 TFS,你可能只需要正确配置它。
如果没有,您有以下选择:
a) 使用
symstore
symstore
为每个构建自动添加符号如果你一个人工作,你可以做 a) 或 b)。如果你在团队中工作,你真的应该考虑 c)。
事情并没有那么简单,Stack Overflow 并不是为了编写成熟的教程而考虑的。因此,我给你以下提示:
您需要了解符号路径可以有多个层。您当前使用的是 0 层符号存储,这是一个平面目录。这是最糟糕的选择。好消息:如果你有符号,你仍然可以设置其他等级类型。
一旦您理解了第 1 点。关于层并想选择选项 c) 没有 TFS,构建一个 HTTP 服务器。
恕我直言,您应该在如何设置符号服务器中找到所有必要的信息。如果你不想放在网络上,你也可以把它放在本地磁盘上。