如何让Visual Studio在调试时自动搜索源代码

时间:2012-05-11 11:58:48

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

假设:

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

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

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

2 个答案:

答案 0 :(得分:6)

您似乎已在项目中设置了与调试相关的一些配置。

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

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

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

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

答案 1 :(得分:1)

可以使用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
}