首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mdbg:无法从进程分离

Mdbg:无法从进程分离
EN

Stack Overflow用户
提问于 2012-04-17 23:45:10
回答 1查看 169关注 0票数 0

我们使用MDBG连接到IIS工作进程。

在执行堆栈快照之后,我们使用MDBgProcess.Detach()分离。

虽然这个调用通常需要10-80ms,但有时它会挂起很长一段时间,同时也会冻结进程。

这是不可接受的,因为该过程是一个生产程序。

下面是我们的完整代码:

代码语言:javascript
复制
try
{
    proc.AsyncStop();
}
finally
{
    // Make sure we are able to detach
    try
    {
        // delete all breakpoints
        proc.Breakpoints.DeleteAll();
    }
    catch (Exception e){}
    finally
    {
        // detach and wait
        var waitHandle = proc.Detach();
        if (proc.CanExecute())
        {
            waitHandle.WaitOne();
        }
    }
}

你知道为什么会发生这种情况吗?我们能做些什么?

最好的,迈克

EN

回答 1

Stack Overflow用户

发布于 2012-05-24 20:53:39

我不知道为什么它会挂起,但我认为您可能有一个竞争条件-在我的程序中,我阻塞,直到进程停止使用WaitOne()在Stop()...

代码语言:javascript
复制
proc.AsyncStop().WaitOne();
m_Debugger.Processes.Active.Breakpoints.DeleteAll();
proc.CorProcess.Detach(); // I don't wait here because this is where my prog ends
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10194481

复制
相关文章

相似问题

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