CLRProfiler在托管时未连接到CLR

时间:2013-04-03 16:36:16

标签: debugging clr-hosting clrprofiler

我有一个托管CLR的本机Win32应用程序,使用C#作为复杂的“脚本”语言。

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

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

如果CLRProfiler是由仅托管程序用来启动CLR的存根启动的,那么它是否能够连接到CLR;如果应用程序显式加载并启动,则 {{1> }}?或者我只是做错了什么?

或者,在启动CLR以使CLRProfiler与它相处时,我的本机应用程序需要做些什么(希望很简单)?

1 个答案:

答案 0 :(得分:1)

在完成两件事之后,我开始工作了:

  1. 使用.NET Framework 2.0版本的CLR Profiler - 有一个单独的.NET Framework 1.1版本,这是我最初找到的版本。它可能不适用于CLR 2.0及更高版本;以及

  2. 在管理员帐户下运行CLR Profiler和应用程序。

  3. 所以,只是为了确认,是的,CLR Profiler(至少是Framework 2.0版本)适用于托管CLR的本机应用程序(当然,它只检查托管代码。)