【问题标题】:How to have Visual Studio automatically search for source code when debugging调试时如何让 Visual Studio 自动搜索源代码
【发布时间】:2012-05-20 00:33:33
【问题描述】:

给定:

  • 已在目录“A”中构建的 dll
  • 一台调试PC,源代码放在目录“B”中

然后在调试时,VisualStudio 将在“A”中搜索源代码,但不会找到它(就像在“B”中一样),并会显示名为“Find Source”的对话框。然后您将浏览到源文件的正确位置,一切都会正常工作。

为了避免出现此对话框(及其相关的浏览),是否可以让 Visual Studio 自动在“B”中查找源代码?

【问题讨论】:

    标签: visual-studio debugging visual-studio-debugging


    【解决方案1】:

    您好像在项目中设置了一些与调试相关的配置。

    此属性页指定调试器在调试解决方案时查找源文件的位置。

    要访问“调试源文件”属性页,请在解决方案资源管理器中右键单击您的解决方案,然后从快捷菜单中选择“属性”。展开 Common Properties 文件夹,然后单击 Debug Source Files 页面。

    包含源代码的目录
    包含调试器在调试解决方案时搜索源文件的目录列表。

    不要寻找这些源文件
    输入您不希望调试器读取的任何文件的名称。如果调试器在上面指定的目录之一中找到这些文件之一,它将忽略它。如果在调试时出现“查找源”对话框,然后单击“取消”,则正在搜索的文件将添加到此列表中,这样调试器就不会继续搜索该文件。

    【讨论】:

    • 如果解决方案仅包含A项目,这可能需要设置一个选项,这很可能在这里。工具 + 选项、项目和解决方案、常规。勾选“始终显示解决方案”选项。现在您可以在解决方案资源管理器窗口中右键单击它并添加到调试源文件列表中。
    • 我希望 VS 递归搜索目录;事实并非如此,但无论如何最好这样:)
    【解决方案2】:

    可以使用 autoHotKey 脚本工具自动搜索源代码:它可以很好地打开正确的源代码,而无需任何用户输入。第一次搜索文件时,需要几秒钟的时间,然后它会变成即时的。

    脚本代码如下。它与VS2010一起使用:

    SourcesRoot = D:\MySourceCodeIsHere
    Loop
    {
      WinWait, Find Source:, 
      IfWinNotActive, Find Source: , , WinActivate, Find Source:, 
      WinWaitActive, Find Source:, 
      ControlGetText, Filename, Edit1,
      Loop, %SourcesRoot%\%Filename%, , 1  
      {
        ControlSetText, Edit1, %A_LoopFileFullPath%
        break  
      }
      ControlClick Button2
    }
    

    【讨论】:

      猜你喜欢
      • 2019-04-10
      • 2011-10-11
      • 2022-10-16
      • 1970-01-01
      • 2015-08-04
      • 2012-02-20
      • 1970-01-01
      • 2016-12-24
      • 1970-01-01
      相关资源
      最近更新 更多