Visual studio 2012加载项-如何将调试器附加到进程

本文关键字:调试器 进程 2012 studio 加载项 Visual | 更新日期: 2023-09-27 18:21:48

我有一个场景,当我在visualstudio中开始调试silverlight OOB项目时,调试器会自动连接到该项目,但它不会连接到运行silverlight应用程序连接的web服务的iisexpress进程。它确实启动了iisexpression,但不会自动连接到它。我必须手动转到调试->附加到进程,找到iiexpress并附加到它以调试客户端和服务器端代码。

由于VS2012删除了宏,我无法使用它来自动附加,所以我尝试创建一个简单的插件来代替它。

不过,我一直纠结于如何连接到流程上。我尝试了以下方法,它们都在正确的时间启动并找到iisexpress进程,但在尝试附加到它时,所有3种方法都会出现异常。有人能建议我如何做到这一点吗?

private void DebuggerEventsOnOnEnterRunMode(dbgEventReason reason)
{
    if (reason == dbgEventReason.dbgEventReasonLaunchProgram)
    {
        foreach (Process process in _applicationObject.Debugger.LocalProcesses)
        {
            var nameparts = process.Name.Split(Path.DirectorySeparatorChar);
            string name = nameparts[nameparts.Length - 1];
            if (name.Contains("iisexpress"))
                    process.Attach();  
                    // also tried: _applicationObject.ExecuteCommand("Debug.AttachToProcess", process.Name);
                    // and: _applicationObject.ExecuteCommand("Debug.AttachToProcess", name);
        }
    }
}

Visual studio 2012加载项-如何将调试器附加到进程

适用于VS 2010&与2012年相比:

解决方案->右键单击->设置启动项目->多个启动项目

选择您的两个项目,并在操作中将其设置为启动,而不是(对于第二个项目)可能的在不调试的情况下启动