【问题标题】:Visual Studio: Open up a symbol source file prior to debugging and set breakpointVisual Studio:在调试之前打开一个符号源文件并设置断点
【发布时间】:2017-02-02 21:42:17
【问题描述】:

我有一个项目,其中引用的程序集有可用的符号文件。 pdb 和源文件本身。 (它们都是我自己的图书馆)。这些符号都列在工具/选项/调试/符号中,标记它们的位置。没关系。

但它正在与他们合作,我想知道:

在必须逐行调试以获取相关代码之前,Visual Studio 中有没有一种方法可以在符号文件中设置断点。

需要明确的是,如果我逐行执行,我最终可以找到我所追求的源代码(因为使用了符号文件)。但有时到达那个位置并不容易,因为它嵌套在多个符号文件中。但是一旦我最终走得足够深并找到代码,我就可以设置断点,然后从那里停止并启动主应用程序并毫无问题地到达该位置。文件代码和所有文件甚至都列在打开的文件窗格中,以便于查看。

有什么办法,如果我知道要中断的文件和代码行,在VS中打开该文件并直接设置断点?

希望我在描述中很清楚。让我知道我是否需要改写。

发送

【问题讨论】:

    标签: visual-studio debugging symbols


    【解决方案1】:

    我敢打赌,您要放置断点的代码位于函数 (;)) 中,因此我会使用 Visual Studio 中的 New breakpoint 选项。这允许您在输入方法时放置一个 VS 应该中断的方法名称(所以基本上在函数名称之后的第一个 { 上)。

    按下 CTRL+B 后,您将看到对话框

    在这里你指定一个你想要放置断点的函数名。

    您可以只指定名称(例如。AppendText)或完全限定名称(带有命名空间 - System.Windows.Forms.TextBoxBase.AppendText)。如果您想将其缩小到特定的模块用户 module_name!function_name 语法。如果需要,您可以指定要中断的重载函数。

    您可以通过将鼠标悬停在此对话框上的 (i) 图标上获得所有这些信息。

    【讨论】:

      【解决方案2】:

      好的。知道必须有办法。这很简单。

      如上所述,如果您有可用于您正在使用的 Nuget 包的符号和源代码,请按照以下步骤操作:

      1. 在 Visual Studio 中打开有问题的主项目。
      2. 在VS中,点击文件/打开文件...
      3. 在 PACKAGES 文件夹下,找到要设置断点的引用包。
      4. 在该包中找到与 pdb 文件一起打包的源代码文件夹。
      5. 在那里您可以找到源代码。现在找到要放置断点的文件。单击该文件以在 Visual Studio 中打开该文件。
      6. 该文件现在已在您的 VS 查看器中打开,但它并未作为新文件包含在您的项目中(好事)。
      7. 在您想要的位置放置断点。
      8. 运行解决方案。现在,您无需逐步执行整个解决方案即可找到要使用该断点检查的代码!

      真是一种解脱!

      【讨论】:

      • 很高兴知道您已经解决了这个问题,感谢您的分享,您可以将其标记为答案,这样可以帮助遇到相同问题的其他社区成员:)
      • 你指的这个“PACKAGES”文件夹是什么?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-06
      • 1970-01-01
      • 2013-01-01
      • 1970-01-01
      • 2020-05-09
      • 1970-01-01
      相关资源
      最近更新 更多