CARA: Menggunakan IEHost Log untuk Debug.NET objek Hosting di Internet Explorer

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 313892 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menjelaskan cara mengaktifkan kesalahan diperpanjang log untuk IEHost.dll, dikelola Common Language Runtime (CLR) host yang berjalan di dalam Internet Explorer.

Microsoft.NET Framework SDK dokumentasi menjelaskan cara menggunakan Fuslogvw.exe untuk men-debug masalah yang mungkin terjadi ketika Anda meng-host.NET modul di Internet Explorer. "Fusi," dari yang utilitas ini mengambil namanya, adalah Microsoft baru nol-dampak penginstalan program teknologi. Oleh karena itu, Fuslogvw.exe laporan kesalahan hanya dalam Download Majelis atau dependensi.

Tentang IEHost.dll

.NET modul didukung di Internet Explorer dengan menggunakan dua komponen. Yang pertama adalah MIME filter, yang didefinisikan dalam Mscoree.dll, yang memonitor semua aliran data masuk dengan jenis MIME aplikasi/oktet-streaming Ketika Internet Explorer membuat panggilan ke IMoniker BindToObject metode. Filter memeriksa aliran data untuk bit di Portabel Executable (PE) header untuk menentukan apakah yang dikelola modul. Jika tidak, filter hanya kembali, dan memungkinkan Internet Explorer untuk memproses sungai biasanya.

Apakah sungai.NET modul, filter beban Majelis IEHost yang berhasil dan panggilan ke objek pabrik untuk membuat sebuah instance dari objek yang diminta. Objek pabrik ini, pada gilirannya, panggilan IEManager, manajer keamanan yang mengkonfigurasi domain aplikasi (AppDomains) untuk Internet Explorer dan menggunakan bukti tentang Majelis (khususnya, URL dan zona keanggotaan) untuk menentukan izin dengan yang Majelis harus dimuat.

Kesalahan dalam perakitan loading, izin keamanan, atau objek inisialisasi tidak tercatat dalam fusi log. Dengan kontrol ActiveX.NET objek yang biasanya tidak dimulai gagal diam-diam, meninggalkan kotak kecil, berlekuk-lekuk di mana kontrol harus. Pada melihat kesalahan tersebut, Anda harus aktif IEHost debug log.

Untuk informasi tambahan tentang MIME filter, klik nomor artikel di bawah ini untuk melihat artikel di Microsoft Basis Pengetahuan:
260840 CONTOH: MIMEfilt menunjukkan MIME Filter untuk Internet Explorer

Mengaktifkan IEHost Debug File Log

PERINGATAN: Jika Anda menggunakan Peninjau Suntingan Registri secara tidak benar, Anda dapat menyebabkan serius masalah yang mengharuskan Anda untuk menginstal ulang sistem operasi. Microsoft tidak dapat menjamin bahwa Anda dapat menyelesaikan masalah yang bermula dari menggunakan Registry Editor salah. Anda menanggung sendiri risiko penggunaan Penyunting Registri.
  1. Klik Mulai, klik Menjalankan, jenis regedit, lalu klik Oke.
  2. Cari dan klik kunci registri berikut:
    HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework
  3. Menambahkan nilai DWORD yang bernama DebugIEHost untuk kunci ini; menetapkan nilai bukan nol.
  4. Menambahkan nilai string yang bernama IEHostLogFile. Menetapkan lintasan lengkap (termasuk nama berkas) file dalam yang Anda ingin merekam jejak debug (misalnya, C:\Temp\IEDebug.log).

Informasi dalam Debug Log File

Berkas log yang dibuat oleh IEHost berisi entri yang ditulis oleh dua berbeda.NET kelas: Microsoft.ie.Manager dan Microsoft.ie.SecureFactory. Misalnya:
Creating security manager

Microsoft.IE.Manager: Microsoft.IE.Manager: unique id lgth = 28
Microsoft.IE.SecureFactory: Create SecureFactory() with security 
information
Microsoft.IE.Manager: Created secure factory
Microsoft.IE.SecureFactory: Creating instance of the object in the correct 
domain
Microsoft.IE.SecureFactory: pUrl = http://servername/DebugIEHost/DebugIEHost/test.htm
Microsoft.IE.SecureFactory: id = 86474707A316B616E65610000000
Microsoft.IE.SecureFactory: link = 
Microsoft.IE.SecureFactory: licenses = 
Microsoft.IE.Manager: Url = 
http://servername/DebugIEHost/DebugIEHost/test.htm
Microsoft.IE.Manager: UrlGetPartW returned 0
Microsoft.IE.Manager: CodeBase = http://servername
Microsoft.IE.Manager: Application = DebugIEHost/DebugIEHost
					
Informasi ini mengidentifikasi URL yang digunakan untuk tujuan keamanan, nama aplikasi yang sedang dimulai, kode dasar yang digunakan untuk men-download ketergantungan, dan lisensi yang berlaku untuk objek ini (di antara informasi yang berguna lainnya).

Yang paling berguna informasi adalah setumpuk jejak, yang tercatat dalam log file jika kesalahan terjadi selama pembuatan obyek. Sebagai contoh, asumsikan bahwa Anda mencoba untuk menulis folder dalam konstruktor kelas Anda:
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");
}
				
Operasi ini tidak berhasil, tetapi karena objek belum sepenuhnya tereltak di Internet Explorer belum, itu gagal diam-diam. Namun, verbose setumpuk jejak ditulis ke log file. Anda biasanya melihat jejak tumpukan dua: pengecualian dalam (yang dilemparkan oleh kontrol Anda), dan server pengecualian ( kesalahan yang dilemparkan oleh run-time dalam menanggapi kontrol Anda kegagalan). Misalnya:
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)
   ...
					
Untuk keamanan pengecualian, Anda juga menerima rincian tentang yang keamanan izin permintaan gagal:
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"/>
					

REFERENSI

Untuk informasi lebih lanjut tentang debugging dengan.NET Kerangka SDK, kunjungi Website MSDN site:
Debug dengan Microsoft.NET Framework SDK

Properti

ID Artikel: 313892 - Kajian Terakhir: 24 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft .NET Framework 1.1
  • Microsoft .NET Framework 1.0
Kata kunci: 
kbctrl kbmisctools kbdebug kbhowtomaster kbmt KB313892 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:313892

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com