2

我的朋友制作了一个非常有用的类库,我一直在使用它。我通常使用 Reflector 来查看他的代码做了什么。

我真正想做的是在调试时单步执行他的代码。所以他给了我他的 .pdb 文件。

  • Foo.dll(发布配置,编译)
  • Foo.pdb

现在,我不确定如何让它在抛出异常时自动闯入他的代码(他的代码,在不同的点,thorws exceptions .. like A first chance exception of type 'System.Web.HttpException' occurred in Foo.dll...

我可以这样做吗?我需要在 Visual Studio 中使用 Symbol Server 设置进行一些设置吗?我是否需要将 dll 编译到调试配置中并传递 .dll 和 .pdb 文件?或者(我真的很害怕这个)..我是否需要同时拥有 .dll、.pdb 和他的源代码......

我也看过这个之前的 SO question,但它没有帮助(但证明我在提问之前尝试过搜索)。

有人能帮助我吗?

4

3 回答 3

2

是的,如果您的朋友对这些 PDB 进行索引,以便调试器知道在源代码控制系统中哪里可以找到适当的源,并且如果您的朋友将这些 pdb 上传到符号服务器,那么您可以完美地单步执行代码,同时调试。

我为工作中的一些项目做了这个,这就像一个魅力。

有关设置符号服务器的更多信息:

源服务器帮助您杀死错误

设置符号服务器

使用符号库

于 2010-04-29T07:08:57.117 回答
1

答案在链接的问题中,虽然它可能不是很明显,所以我会说:是的,你需要有源代码才能逐步浏览源代码。PDB 文件只告诉调试器什么源文件的哪一行对应于特定的机器指令。

您不需要设置“符号服务器”或类似的东西。让他把源发给你。加载 PDB 文件时,如果源文件不在同一路径中,Visual Studio 将提示输入源文件的位置。

于 2010-04-29T07:09:52.983 回答
0

我猜您发布了指向另一个问题的链接只是为了证明您已经搜索过,因为该问题确实对您的问题有答案。

于 2010-04-29T07:05:27.023 回答