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);
}
}
}
适用于VS 2010&与2012年相比:
解决方案->右键单击->设置启动项目->多个启动项目
选择您的两个项目,并在操作中将其设置为启动,而不是(对于第二个项目)可能的在不调试的情况下启动