2010-12-13 67 views
5

是否有詳細的演練描述在運行可執行文件時在.NET級別發生的所有進程?就像被訪問的文件夾一樣,可能正在運行的進程,運行的進程等發生在您的應用程序之外?.NET可執行過程遍歷

+0

您是否在詢問CLR的行爲? – Amy 2010-12-13 21:17:52

回答

3

[我不是100%清楚你的意思的過程。如果您的意思是CLR內部的程序,則下面的答案適用。如果你的意思是在CLR之外的操作系統進程,不要緊!]

我不知道是否有詳細的演練。無論如何,這很複雜。啓動時,CLR讀取大量註冊表項,machine.config,app.config等,解析加載哪個DLL版本(又名.NET Fusion)等。

獲得有關此詳細信息的最佳方法是在ETW(Windows事件跟蹤)下運行.NET應用程序。您可以打開OS事件日誌記錄來觀察所有操作系統交互(註冊表項讀取,文件讀取,DLL加載等),還可以啓用CLR級別事件的日誌記錄。然後(後處理),您可以整理(按時間排序)所有這些信息,以獲取完整詳細的時間表。我曾經使用這個工具來測量和調整CLR應用程序的啓動時間。

另請參閱http://msdn.microsoft.com/en-us/library/ff357719.aspx瞭解有關CLR ETW事件的信息。

快樂黑客!