首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Visual Studio 2008生成宏不阻止线程

Visual Studio 2008生成宏不阻止线程
EN

Stack Overflow用户
提问于 2009-10-06 15:22:36
回答 2查看 446关注 0票数 1

我正在尝试编写一个宏来构建我的应用程序,启动一个外部工具,并将调试器附加到该外部工具。

除了大楼之外,一切都很正常。它构建,但它不会阻塞线程,因此外部工具在完成之前就被踢开了。有没有一种方法可以运行ExecuteCommand并等待线程完成?

代码如下:

代码语言:javascript
复制
    DTE.ExecuteCommand("ClassViewContextMenus.ClassViewProject.Build")
    DTE.ExecuteCommand("Tools.ExternalCommand11")

    Try
        Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
        Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
        Dim dbgeng(1) As EnvDTE80.Engine
        dbgeng(0) = trans.Engines.Item("Managed")
        Dim proc2 As EnvDTE80.Process2 = dbg2.GetProcesses(trans, "MINIPC").Item("_nStep.exe")
        proc2.Attach2(dbgeng)
    Catch ex As System.Exception
        MsgBox(ex.Message)
    End Try
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-03 03:30:34

我相信这是在这个帖子上回答的:

Run Visual Studio 2008 Macro on Pre Build Event

票数 0
EN

Stack Overflow用户

发布于 2009-12-30 19:36:33

如果将调试器附加到第一个进程ClassViewContextMenus.ClassViewProject.Build和第二个进程,那么宿主进程可能会阻塞,直到第一个进程完成为止。或者,以其他方式获取第一个进程的进程句柄,并等待它退出。考虑到您正在做的巧妙的调试器工作,我想您应该比我更了解如何做这件事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1526300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档