Làm thế nào để: Sử dụng Nhật ký IEHost để gỡ lỗi.NET đối tượng được lưu trữ trong Internet Explorer

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:313892
Bài viết này đã được lưu trữ. Bài viết được cung cấp "nguyên trạng" và sẽ không còn được cập nhật nữa.
QUAN TRỌNG: Bài viết này chứa thông tin về việc sửa đổi sổ đăng ký. Trước khi bạn chỉnh sửa registry, hãy chắc chắn để trở lại nó lên và chắc chắn rằng bạn hiểu làm thế nào để khôi phục sổ đăng ký nếu một vấn đề xảy ra. Để có thông tin về làm thế nào để sao lưu, khôi phục, và chỉnh sửa registry, nhấp vào sau số bài viết để xem bài viết trong cơ sở kiến thức Microsoft:
256986 Mô tả của Microsoft Windows Registry

TRONG NHIỆM VỤ NÀY

TÓM TẮT
Bài viết này mô tả cách kích hoạt kéo dài lỗi ghi nhật ký cho IEHost.dll, quản lý ngôn ngữ chung Run-giờ (CLR) lưu trữ mà chạy bên trong Internet Explorer.

Microsoft.NET Framework SDK tài liệu mô tả cách sử dụng Fuslogvw.exe để gỡ lỗi các vấn đề mà có thể xảy ra khi bạn lưu trữ một.NET mô-đun trong Internet Explorer. "Fusion," mà từ đó Tiện ích này lấy tên, là của Microsoft mới bằng không tác động cài đặt chương trình công nghệ. Vì vậy, Fuslogvw.exe báo cáo lỗi chỉ trong tải hội đồng hoặc phụ thuộc của nó.

back to the top

Về IEHost.dll

.NET mô-đun được hỗ trợ trong Internet Explorer bằng cách sử dụng hai các thành phần. Đầu tiên là một bộ lọc MIME, được định nghĩa trong Mscoree.dll, mà theo dõi tất cả các dòng dữ liệu gửi đến với kiểu MIME ứng dụng/octet-dòng khi Internet Explorer làm cho một cuộc gọi đến IMoniker BindToObject phương pháp. Kiểm tra bộ lọc dòng dữ liệu cho các bit trong các Tiêu đề tập tin thực thi (PE) cầm tay để xác định có hay không nó là một quản lý mô-đun. Nếu không, bộ lọc chỉ đơn giản là trả lại, và cho phép Internet Explorer để xử lý các dòng thông thường.

Nếu dòng là một.NET mô-đun, các bộ lọc tải lắp ráp IEHost quản lý và các cuộc gọi vào đối tượng nhà máy để tạo một thể hiện của đối tượng được yêu cầu. Nhà máy đối tượng này, đến lượt nó, các cuộc gọi IEManager, một người quản lý bảo mật mà cấu hình các lĩnh vực ứng dụng (AppDomains) cho Internet Explorer và sử dụng chứng cứ về hội đồng (đặc biệt, URL và khu viên) để xác định các điều khoản với Hội đồng cần được nạp.

Lỗi trong hội tải, cấp phép bảo mật, hoặc đối tượng khởi tạo không được ghi lại trong Fusion đăng nhập. Như với điều khiển ActiveX, một.NET đối tượng không được khởi tạo thường thất bại âm thầm, để lại một hộp nhỏ, grooved nơi điều khiển nên. Để Xem lỗi như vậy, bạn cần phải hoạt động các bản ghi gỡ lỗi IEHost.

Để thêm thông tin về MIME các bộ lọc, bấm vào số bài viết dưới đây để xem bài viết trong Microsoft Kiến thức cơ bản:
260840 MẪU: MIMEfilt chứng tỏ MIME lọc cho Internet Explorer
back to the top

Kích hoạt tệp nhật ký IEHost Debug

CẢNH BÁO: Nếu bạn sử dụng Registry Editor không chính xác, bạn có thể gây ra nghiêm trọng vấn đề mà có thể yêu cầu bạn phải cài đặt lại hệ điều hành của bạn. Microsoft không thể đảm bảo rằng bạn có thể giải quyết vấn đề mà kết quả từ việc sử dụng Registry Trình soạn thảo không đúng. Sử dụng Registry Editor nguy cơ của riêng bạn.
  1. Nhấp vào Bắt đầu, bấm Chạy, loại regedit, sau đó bấm Ok.
  2. Xác định vị trí và nhấp vào khóa registry sau đây:
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework
  3. Thêm một giá trị DWORD tên là DebugIEHost để phím này; gán cho nó bất kỳ giá trị khác không.
  4. Thêm một chuỗi giá trị đặt tên IEHostLogFile. Gán cho nó là đường dẫn đầy đủ (bao gồm cả tên tập tin) của tập tin trong mà bạn muốn ghi dấu vết gỡ lỗi (ví dụ, C:\Temp\IEDebug.log).
back to the top

Thông tin có trong tập tin gỡ lỗi đăng nhập

Tệp nhật ký được tạo ra bởi IEHost chứa các mục có viết bởi hai khác nhau.Các lớp học NET: Microsoft.ie.ManagerMicrosoft.ie.SecureFactory. Ví dụ:
Creating security managerMicrosoft.IE.Manager: Microsoft.IE.Manager: unique id lgth = 28Microsoft.IE.SecureFactory: Create SecureFactory() with security informationMicrosoft.IE.Manager: Created secure factoryMicrosoft.IE.SecureFactory: Creating instance of the object in the correct domainMicrosoft.IE.SecureFactory: pUrl = http://servername/DebugIEHost/DebugIEHost/test.htmMicrosoft.IE.SecureFactory: id = 86474707A316B616E65610000000Microsoft.IE.SecureFactory: link = Microsoft.IE.SecureFactory: licenses = Microsoft.IE.Manager: Url = http://servername/DebugIEHost/DebugIEHost/test.htmMicrosoft.IE.Manager: UrlGetPartW returned 0Microsoft.IE.Manager: CodeBase = http://servernameMicrosoft.IE.Manager: Application = DebugIEHost/DebugIEHost					
Thông tin này xác định URL được sử dụng cho mục đích bảo mật, tên của ứng dụng đó đang được bắt đầu, các mã cơ bản, mà được sử dụng để tải về các quan hệ phụ thuộc, và giấy phép áp dụng cho đối tượng này (trong số các thông tin hữu ích khác).

Hữu ích nhất thông tin là một chồng dấu vết, được ghi lại trong các tập tin log nếu một lỗi diễn ra trong sáng tạo đối tượng. Ví dụ, giả sử rằng bạn đã cố gắng để viết thư cho một thư mục trong nhà xây dựng lớp học của bạn:
public DebugIEHost() {    // This call is required by the Windows.Forms Form Designer.    InitializeComponent();    // TODO: Add any initialization after the InitForm call    FileStream fs = File.Open(@"C:\temp.tmp",System.IO.FileMode.CreateNew);    StreamWriter sw = new System.IO.StreamWriter(fs);    sw.WriteLine("Hello, world");}				
Thao tác này không thành công, nhưng vì các đối tượng đã không nó hoàn toàn đặt trong Internet Explorer được nêu ra, không âm thầm. Tuy nhiên, một tiết chồng dấu vết được ghi vào tập tin đăng nhập của bạn. Bạn thường thấy hai ngăn xếp dấu vết: một ngoại lệ bên trong (trong đó được ném bởi điều khiển của bạn), và một ngoại lệ máy chủ (các lỗi được ném theo lần chạy để đáp ứng với sự thất bại của bạn kiểm soát). Ví dụ:
Microsoft.IE.SecureFactory: System.Reflection.TargetInvocationException:Exception has been thrown by the target of an invocation.---->System.Security.SecurityException: Request for the permission of type System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 failed.   at System.Security.CodeAccessSecurityEngine.CheckHelper(PermissionSet grantedSet, PermissionSet deniedSet, CodeAccessPermission demand, PermissionToken permToken)   ...					
Đối với trường hợp ngoại lệ bảo mật, bạn cũng nhận được thông tin chi tiết về việc những bảo mật yêu cầu sự cho phép thất bại:
The state of the failed permission was: <IPermission class="System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"             version="1"             Read="C:\temp.tmp"             Write="C:\temp.tmp"/>					
back to the top
THAM KHẢO
Để biết thêm thông tin về gỡ lỗi với các.NET Khuôn khổ SDK, truy cập vào MSDN Web site sau: back to the top

Cảnh báo: Bài viết này được dịch tự động

Thuộc tính

ID Bài viết: 313892 - Xem lại Lần cuối: 12/07/2015 08:17:37 - Bản sửa đổi: 2.0

Microsoft .NET Framework 1.1, Microsoft .NET Framework 1.0

  • kbnosurvey kbarchive kbctrl kbmisctools kbdebug kbhowtomaster kbmt KB313892 KbMtvi
Phản hồi