代码之家  ›  专栏  ›  技术社区  ›  Pure.Krome

我可以使用PDB文件单步执行第三方程序集吗?

  •  2
  • Pure.Krome  · 技术社区  · 14 年前

    我朋友做了一个非常有用的类库,我一直在用。我通常用反光镜 看见 他的密码是什么。

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

    • foo.dll(发布配置,编译)
    • PDB

    现在,我不知道如何让它在抛出异常(他的代码,在不同的点上,Thorws异常)时自动打断他的代码。喜欢 A first chance exception of type 'System.Web.HttpException' occurred in Foo.dll

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

    我也有过 look at this previous SO question 但这也没什么帮助(但证明我在问问题之前已经尝试过搜索)。

    有人能帮我吗?

    3 回复  |  直到 14 年前
        1
  •  2
  •   Frederik Gheysels    14 年前

    是的,如果您的朋友对这些PDB进行索引,以便调试器知道在源代码控制系统中从何处找到适当的源,并且如果您的朋友将这些PDB上载到符号服务器,则可以在调试时完全单步执行代码。

    我在工作中的一些项目中做了这个,这个工作很有魅力。

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

    Source server helps you kill bugs

    Setting up a symbol server

    Using symstore

        2
  •  1
  •   EMP    14 年前

    答案就在链接的问题中,尽管这可能并不明显,所以我会说:是的,您需要有源代码才能逐步通过源代码。pdb文件只告诉调试器哪个源文件行对应于特定的机器指令。

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

        3
  •  0
  •   Giorgi    14 年前

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

    推荐文章