当我想要调试时,我必须执行 调试(Debug)->附加到进程(Attach to Process) -> 在列表中查找需要调试的进程 -> 附加(Attach)。
我想知道是否可以创建某种快捷方式来帮我完成这个过程?
当我想要调试时,我必须执行 调试(Debug)->附加到进程(Attach to Process) -> 在列表中查找需要调试的进程 -> 附加(Attach)。
我想知道是否可以创建某种快捷方式来帮我完成这个过程?
Visual Studio 2005及以上版本
。最简单的方法是编写一个宏,找到你想要定位的DTE.LocalProcess
并自动附加。例如:
Public Sub AttachShortcut()
For Each proc In DTE.Debugger.LocalProcesses
If proc.Name = "what you're looking for" Then
proc.Attach()
Exit Sub
End IF
Next
End Sub
注意:这个Stack Overflow问题与一个你可能会发现有用的样例相关
编写宏是一种选择,但它本身无法推断要附加到哪个进程。
另一个好的解决方案是将 "附加到进程" 命令映射到快捷键:
(工具 -> 选项 -> 环境 -> 键盘,输入附加,如我在此示例中所做的,并选择一个快捷键):
一旦在那里,您可以使用键盘搜索可用进程列表(例如,如果要附加到IIS应用程序池,则输入“w3wp”)。
这个答案适用于Visual Studio 2010。
我喜欢在我的调试工具栏上有按钮来做这件事
https://gist.github.com/1406827
该代码片段包含了一种附加到IIS(w3wp.exe)或ASP(aspnet_wp.exe)以及nunit(nunit-agent.exe)的方法。其中包括如何将宏添加到调试工具栏的说明。
对于Visual Studio 2017、2019,有一个非常方便的ReAttach扩展程序可用。
我使用这个内置的“快捷方式”:
ALT+D, P, W, ENTER
这会打开调试菜单,选择“附加到进程”,滚动到w3wp.exe并进行附加。
虽然很长,但应该可以在多个Visual Studio版本中使用,无需设置,无论是否使用resharper,当运行多个IIS进程时也可以选择要附加的进程。
现在,使用插件可能是更好的方法。我使用一个叫做“Attach to anything”的插件,你可以在Visual Studio 2012中找到它。打开“工具”->“扩展和更新”,搜索“attach”,并安装“attach to anything”。
Alt+Shift+P可以重新附加上一次已经附加的进程。
在Visual Studio 2017中,这对我很有效。