如何自动将VS附加到另一个进程进行调试?

Vim*_*987 3 asp.net iis debugging visual-studio

我正在调试部署在IIS 7.5(VS 2010/Windows 7 x64)上的ASP.NET应用程序.在我进行更改后,我必须将其部署到IIS文件夹,然后执行以下操作(您们中的任何人都应该知道,我只是列出来证明它们是多么无聊和耗时):

  • 单击Debug菜单,选择Attach to Process
  • 从列表中,选择"在所有会话中显示进程"
  • 选择正确的w3wp.exe进程
  • 单击附加
  • 再次单击附加

好吧,这是不必要的工作.由于我们的系统架构师,这是唯一的方法,我们可以通过F5按钮直接调试,但我想知道如果有一个解决方法,所以我可以通过点击或快捷键来完成所有这些事情.

非常感谢你.

Fou*_*rth 7

http://blog.lavablast.com/post/2008/01/11/Attach-to-Process-with-one-shortcut.aspx

使用以下内容在visual studio中创建宏:

Option Strict Off
Option Explicit Off
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports System.Diagnostics
Imports System.Security.Principal

Public Module RecordingModule
    Sub AttachToAspNET()
        Try
            Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
            Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
            Dim compName As String = WindowsIdentity.GetCurrent().Name
            compName = compName.Substring(0, compName.IndexOf("\"))
            Dim proc2 As EnvDTE80.Process2 = dbg2.GetProcesses(trans, compName).Item("w3wp.exe")
            proc2.Attach2(dbgeng)
        Catch ex As System.Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Module 
Run Code Online (Sandbox Code Playgroud)

将w3wp.exe更改为aspnet,如果那就是你想要的.然后进入密钥快捷方式,然后绑定一个快捷方式来运行该宏.