2014-01-09 48 views
2

.call似乎有可能调用本机功能(从来没有真正尝试过)。是否有类似的命令调用.NET函数mimic this result是否有类似.NET的.call命令?

我正在寻找WinDbg解决方案。我知道Visual Studio具有“立即”窗口,其他工具如Hawkeye可以调用事件处理程序,也可能Snoop也可以调用方法。

+0

我可以知道为什么这个票被关闭吗? –

+0

可能是因为投票的人不理解问题=)对于近亲选民来说,尝试让OP改善他们认为应该在实际投票结束前应该关闭的问题通常是一个好主意/礼节。 –

回答

6

简短的回答是没有。

问题是你不能在任何线程上运行托管代码。即使你在一个好的线程中,它也可能很容易导致垃圾收集,终结器等问题。

在过去,我们已经尝试创建一个本地入口点,然后调用托管代码。它很混乱,并且在需要的时候没有很好的工作。

编辑:
.call作品推了一堆东西压入堆栈,跳转到入口点,然后继续执行(所有当前选择的线程上)。不幸的是,WinDbg本身并不知道托管代码的任何内容,它如何与系统交互,或者如何安全地调用它。 Visual Studio调试器(这是一个不同的调试引擎)知道托管代码以及如何干净地执行方法。

+0

正如您为Microsoft工作13年一样,我认为我可以立即接受这个答案,不再考虑这个问题。但是Visual Studio如何管理它呢? –

相关问题