Visual Studio-附加到进程快捷方式


68

当我想调试时,我必须执行Debug-> Attach to Process->在列表中查找一个进程-> Attach。

我想知道是否可以为我创建某种快捷方式来执行此操作?


2
如果您遇到类似我的情况,则当您需要使用同一组进程重复执行“附加到进程”操作时,请抓住复活的扩展并进行尝试。它对我有帮助,所以我已经出版了。
jwaliszko 2014年

Answers:


23

最简单的方法是编写一个宏,该宏查找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

注意:此堆栈溢出问题是相关的,并且有一个示例您可能会发现有用


7
宏将不再可用在Visual Studio 2012年有关详细信息,请参阅infoq.com/news/2011/10/VS-Macros
的Kjetil Klaussen

4
您可以使用Visual Commander vlasovstudio.com/visual-commander
Sergey Vlasov

2
下面的John Rea的答案应标记为新答案,或者至少对于使用Visual Studio 2012及更高版本的用户在答案中包含其信息。加载项ReAttach和AttachTo是很好的例子。
塔科马塔尔奥特曼

我写了一篇有关如何使用Visual Commander扩展名创建快捷方式的博客文章:blog.markvincze.com/attach-to-process-shortcut-in-visual-studio
Mark Vincze 2015年

现在应该对此进行表决。正如Rajesh的回答中所说,Ctrl + Alt + P是快捷方式。
Jaywalker 2015年

86

快捷键是Ctrl+ Alt+PVisual Studio 2005 and above


请注意,默认情况下,此获取已被劫持,重新共享设置!
roo2

@EruPenkman不支持Visual Studio方案(自ReSharper 9和Visual Studio 2013起)
Gabriel

2
我一直在使用ALT + D,P。速度更快。
blockloop

14

您可以使用Alt键快捷键ALT+ DP通过“调试”菜单启动“附加到进程”窗口。

到达那里后,您可以使用键盘搜索可用进程列表(例如,如果要附加到IIS应用程序池,请键入“ w3wp”)


14

编写宏是一种选择,但是它不能推断要附加到哪个进程。

另一个不错的解决方案是将“附加到进程”命令映射到快捷键:

工具->选项->环境->键盘,像本例中那样键入Attach,然后选择快捷键):

在此处输入图片说明


是。这将打开附加到进程窗口。上面的宏更进一步。它找到过程并附加。
dev.e.loper 2011年

我不确定他要去哪个程序。开始越来越喜欢宏了:)
lysergic-acid

它应该已经内置了快捷键Ctrl + Alt + P。如果选择了不同的kbd设置,则可能会有所不同。
user3285954'2

13

此答案适用于Visual Studio 2010

我喜欢在调试工具栏上有按钮来执行此操作

https://gist.github.com/1406827

要点包含一种附加到IIS(w3wp.exe)或ASP(aspnet_wp.exe)以及nunit(nunit-agent.exe)的方法。包括有关如何将宏添加到调试工具栏的说明。


2
我不敢相信这个答案还没有得到更多的选票。这些步骤非常容易执行,并且效果很好。谢谢!
Adrian Schmidt 2013年

阿德里安(Adrian),很高兴为您服务!当我进行.net工作时,这为我节省了大量时间。
Brian Wigginton 2013年

2
有在VS2012没有宏,以便你的答案是相当无用
Adaptabi

DotNetWise:谢谢,我已经更新了此答案以反映这一点。
Brian Wigginton

github上的链接没有说明如何实际安装产品。它不是用户友好的。我不确定该如何处理该代码。
P.Brian.Mackey '16

12

我用这个内置的“快捷方式”

ALT+DPWENTER

这将打开调试菜单,选择要附加到进程,向下滚动到w3wp.exe并附加。

它很长,但是可以在多个Visual Studio版本中使用,而无需安装程序,无论是否带有重新共享,它都可以在运行多个IIS进程时工作,因为您可以选择要附加到哪个进程。


如果您(能够)将所有网站设置为可重复使用同一apppool,则将只有一个w3p进程
drzaus

您如何建立捷径?
Aximili

12

附加到处理按钮

Visual Studio 2013、2015、2017和2019中启用``附加到处理''工具栏按钮

  1. 右键单击任何工具栏,然后单击“自定义...”
  2. 点击“命令”标签
  3. 点击“工具栏”单选按钮
  4. 从下拉列表中选择要在其中显示按钮的工具栏
  5. 点击“添加命令...”按钮
  6. 从左侧的类别列表中选择“调试”
  7. 从右侧的命令列表中选择“附加到进程”,然后单击“确定”。该按钮将出现在您选择的工具栏上。
  8. (可选)使用右侧的“向上移动”和“向下移动”按钮将新按钮移动到工具栏中所需的位置。我在“调试”按钮后面保留了我的信息。

12

对于Visual Studio 2017、2019,有一个ReAttach扩展可用。非常便利。


这是对我有用的答案。我不确定暗示键盘快捷键的答案在做什么,因为这不是问题的所在。干杯!
AStopher '16

还支持VS 2019。
Valera Scherbakov


@MohammedDawoodAnsari我可以看到“与Visual Studio 2017、2019一起使用”。但是,我在VS 2019中不再使用它。在VS 2019中,有一个内置选项:Debug-> Reattach to Process。在您已附加到给定VS会话中的任何进程后,该功能将变为可用。
戴维德·西比恩斯基(DawidSibiński),

是的,你是对的。VS 2019内置重新连接,谢谢。
Mohammed Dawood Ansari

7

Addins可能是现在更好的方法。我用一个叫做“附加到任何东西”的东西。您可以在Visual Studio 2012中找到它们。转到“工具”->“扩展和更新”,搜索“附加”,然后安装“附加至任何内容”。

另请参阅: 在Visual Studio 2012中自动化“附加到处理”


2
这应该被标记为新答案,因为宏是在2012年删除的。外接程序ReAttach和AttachTo是很好的示例。
塔科马塔尔奥特曼

4

Alt+ Shift+P重新附加上一个附加的过程。

它在Visual Studio 2017中对我有用。



0

VS扩展

更多:在VS Marketplace中搜索“附件”

键盘

  • 在Visual Studio 2005及更高版本中,“附加到进程”快捷方式是Ctrl+ Alt+ P。然后你可以按你想要的,如进程名称的第一个字母ww3wp.exe,它会跳转到这一点,那么Enter附着。
  • 您可以使用Alt键快捷键ALT+ DP通过“调试”菜单启动“附加到进程”窗口。


在撰写本文时,当前版本是VS2015。

继续编辑/扩展这个答案:-)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.