2013-04-03 79 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本機應用程序的工作(它只檢查託管代碼,自然。)