我可以使用pdb文件来逐步完成第三方程序集吗?

时间:2010-04-29 07:01:16

标签: debugging visual-studio-2010 assemblies pdb-files step-through

我的朋友已经创建了一个非常有用的类库,我一直在使用它。我通常使用Reflector 查看他的代码所做的事情。

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

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

现在,我不确定如何在引发异常时自动进入代码(他的代码,在各个点,Thorw异常......如A first chance exception of type 'System.Web.HttpException' occurred in Foo.dll ...

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

我也有一个look at this previous SO question,但它没有帮助(但是在我提出问题之前我试过搜索的证据)。

有人能帮助我吗?

3 个答案:

答案 0 :(得分:2)

是的,你可以,如果你的朋友索引那些PDB,那么调试器知道在源控制系统中找到合适的源的位置,如果你的朋友将这些pdb上传到符号服务器,你可以完美地逐步完成调试时的代码。

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

有关设置符号服务器的详细信息:

Source server helps you kill bugs

Setting up a symbol server

Using symstore

答案 1 :(得分:1)

答案在链接的问题中,但也许它并不是很明显,所以我会说:是的,你需要有源代码才能逐步完成源代码。 PDB文件只告诉调试器哪个源文件对应于特定的机器指令。

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

答案 2 :(得分:0)

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