2010-12-13 53 views
5

Có hướng dẫn chi tiết mô tả tất cả các quy trình xảy ra ở cấp .NET trong khi chạy tệp thi hành không? Giống như các thư mục được truy cập, các quy trình có thể đang chạy, những người mà họ đang chạy, v.v. xảy ra bên ngoài ứng dụng của bạn?Quá trình thực thi .NET đi qua

+0

Bạn có hỏi về hành vi của CLR không? – Amy

Trả lời

3

[Tôi không rõ 100% ý nghĩa của các quy trình. Nếu bạn ngụ ý các thủ tục bên trong CLR, câu trả lời dưới đây sẽ được áp dụng. Nếu bạn ngụ ý các quy trình OS bên ngoài CLR, đừng bận tâm!]

Tôi không biết liệu có hướng dẫn chi tiết hay không. Trong mọi trường hợp, nó phức tạp. Bắt đầu, CLR đọc rất nhiều mục đăng ký, machine.config, app.config, v.v., giải quyết các phiên bản DLL nào cần tải (aka .NET Fusion), v.v.

Cách tốt nhất để có được chi tiết to lớn về điều này là chạy ứng dụng .NET của bạn dưới ETW (Theo dõi sự kiện cho Windows). Bạn có thể bật ghi nhật ký sự kiện OS để quan sát tất cả các tương tác hệ điều hành (mục nhập reg đọc, đọc tệp, tải DLL, v.v.) và cũng có thể bật ghi nhật ký các sự kiện cấp CLR. Sau đó, (xử lý bài) bạn có thể đối chiếu (sắp xếp theo thời gian) tất cả thông tin này để có được một thời gian đầy đủ chi tiết về những gì đã xảy ra khi nào. Tôi đã từng sử dụng thiết bị đo này để đo và điều chỉnh thời gian khởi động ứng dụng CLR.

Xem thêm http://msdn.microsoft.com/en-us/library/ff357719.aspx để biết thông tin về các sự kiện ETW CLR.

Hacking vui vẻ!

Các vấn đề liên quan