2013-04-03 47 views
1

我有一个本机Win32应用程序,该应用程序托管CLR以将C#用作复杂的“脚本”语言。CLRProfiler在托管时未连接到CLR

我有内存泄漏,我决定尝试微软的CLR探查器进行调查。 (我不确定是否管理泄漏,希望这个工具可能有助于揭示这件事)。

但是,当我告诉CLRProfiler启动我的(本地)应用程序时,尽管我的应用程序始终在运行的第一秒左右启动CLR,即使我的应用程序明显运行托管代码,CLRProfiler仍会继续显示提示Waiting for application to start common language runtime

是CLRProfiler只能如果它是由管理型仅程序使用启动CLR存根开始连接到CLR和如果应用程序显式加载和启动MSCOREE.DLL?或者我只是做错了什么?

或者是有什么(希望简单)我的本机应用程序需要做,而开始CLR让CLRProfiler相处吗?

回答

1

我懂了工作,做两件事情后:

  1. 使用.NET Framework 2.0版本的CLR探查的 - 有一个独立的.NET Framework 1.1版本,这是一个我开始找到了。它可能不适用于CLR 2.0以上;和

  2. 在管理员帐户下运行CLR事件探查器和应用程序。

所以,只是为了确认,没错,CLR分析器(至少框架2.0版本)确实为托管CLR本机应用程序的工作(它只检查托管代码,自然。)