c# – 以编程方式分离调试器

c# – 以编程方式分离调试器,第1张

概述我有一个第三方库在内部执行某些 *** 作,导致它在连接调试器时大大减慢,即使在发布模式下也是如此. 我已经找到了100个关于如何通过调试 – >手动在Visual Studio中分离调试器的解释.分离过程.但是,我还没有看到任何人提供一个示例,其中程序可以将任何附加的调试器分离给自己. 基本上是Debugger.Launch()的分离版本? 根据 Why can’t you detach in inte 我有一个第三方库在内部执行某些 *** 作,导致它在连接调试器时大大减慢,即使在发布模式下也是如此.

我已经找到了100个关于如何通过调试 – >手动在Visual Studio中分离调试器的解释.分离过程.但是,我还没有看到任何人提供一个示例,其中程序可以将任何附加的调试器分离给自己.

基本上是Debugger.Launch()的分离版本?

解决方法 根据 Why can’t you detach in interop-debugging?,CLR不支持分离进程.但Visual Studio可以做到这一点.但这篇文章已有5年历史了,你可以通过pinvoke从windows API使用 DebugActiveProcessStop吗?
BOol WINAPI DeBUGActiveProcessstop(  __in  DWORD DWProcessID);[Dllimport("kernel32.dll")][return: MarshalAs(UnmanagedType.Bool)]public static extern bool DeBUGActiveProcessstop([In] int PID );

编辑:试过这个:在当前进程中,即使提升,它也会拒绝访问.

CLR Managed Debugger (mdbg) Sample 2006或2011 version也有任何内容

最后这篇文章explains what you need to do to use ICorDebug::Detach和我认为visual studio确实这样做了.

总结

以上是内存溢出为你收集整理的c# – 以编程方式分离调试器全部内容,希望文章能够帮你解决c# – 以编程方式分离调试器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1263567.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存