λ°νμRuntimeμ μ΄μ λΈλ¦¬ λ°μΈλ© μ€λ₯κ° λ°μνλ κ²½μ° μλμ κ°μ λ΄μ©μ νμΈν μ μμ΅λλ€.
μ΄ λν μμ λμ JIT(Just-in-time) λλ²κΉ
μ νΈμΆνλ
λ°©λ²μ λν μμΈν λ΄μ©μ μ΄ λ©μμ§μ λ·λΆλΆμ μ°Έμ‘°νμμμ€.
************** μμΈ ν
μ€νΈ **************
System.IO.FileNotFoundException: νμΌμ΄λ μ΄μ
λΈλ¦¬ 'SampleNamespace, Version=1.0.0.1, Culture=neutral, PublicKeyToken=aaaaaaaaaaaaaaaa' λλ μ¬κΈ°μ μ’
μλμ΄ μλ νμΌμ΄λ μ΄μ
λΈλ¦¬ μ€ νλλ₯Ό λ‘λν μ μμ΅λλ€. μ§μ λ νμΌμ μ°Ύμ μ μμ΅λλ€.
νμΌ μ΄λ¦: 'SampleNamespace, Version=1.0.0.0, Culture=neutral, PublicKeyToken=aaaaaaaaaaaaaaaa'
μμΉ: OtherNamespace.MyClass..ctor()
κ²½κ³ : μ΄μ
λΈλ¦¬ λ°μΈλ© λ‘κΉ
μ΄ κΊΌμ Έ μμ΅λλ€.
μ΄μ
λΈλ¦¬ λ°μΈλ© μ€λ₯ λ‘κΉ
κΈ°λ₯μ μ¬μ©νλ €λ©΄ λ μ§μ€νΈλ¦¬ κ° [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)λ₯Ό 1λ‘ μ€μ νμμμ€.
μ°Έκ³ : μ΄μ
λΈλ¦¬ λ°μΈλ© μ€λ₯ λ‘κΉ
κΈ°λ₯μ μ¬μ©νλλ‘ μ€μ νλ©΄ κ·Έλ μ§ μμ κ²½μ°λ³΄λ€ μ±λ₯μ΄ μ½κ° λ¨μ΄μ§λλ€.
μ΄ κΈ°λ₯μ λλ €λ©΄ λ μ§μ€νΈλ¦¬ κ° [HKLM\Software\Microsoft\Fusion!EnableLog]λ₯Ό μ κ±°νμμμ€.
************** λ‘λλ μ΄μ
λΈλ¦¬ **************
mscorlib
μ΄μ
λΈλ¦¬ λ²μ : 4.0.0.0
Win32 λ²μ : 4.0.30319.34209 built by: FX452RTMGDR
μ½λλ² μ΄μ€: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
System
μ΄μ
λΈλ¦¬ λ²μ : 4.0.0.0
Win32 λ²μ : 4.0.30319.34238 built by: FX452RTMGDR
μ½λλ² μ΄μ€: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
μ΄μ
λΈλ¦¬ λ²μ : 4.0.0.0
Win32 λ²μ : 4.0.30319.34251 built by: FX452RTMGDR
μ½λλ² μ΄μ€: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
μ΄μ
λΈλ¦¬ λ²μ : 4.0.0.0
Win32 λ²μ : 4.0.30319.34209 built by: FX452RTMGDR
μ½λλ² μ΄μ€: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
μ΄μ
λΈλ¦¬ λ²μ : 4.0.0.0
Win32 λ²μ : 4.0.30319.34209 built by: FX452RTMGDR
μ½λλ² μ΄μ€: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
μ΄μ
λΈλ¦¬ λ²μ : 4.0.0.0
Win32 λ²μ : 4.0.30319.34234 built by: FX452RTMGDR
μ½λλ² μ΄μ€: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
OtherNamespace.MyClass
μ΄μ
λΈλ¦¬ λ²μ : 1.0.0.0
Win32 λ²μ : N/A
μ½λλ² μ΄μ€: http://bbon.me/Apps/OtherNamespace.DLL
----------------------------------------
IFW.Windows.Forms
μ΄μ
λΈλ¦¬ λ²μ : 4.0.0.6
Win32 λ²μ : 4.0.0.6
μ½λλ² μ΄μ€: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/IFW.Windows.Forms/v4.0_4.0.0.6__6b3a265306332740/IFW.Windows.Forms.dll
----------------------------------------
mscorlib.resources
μ΄μ
λΈλ¦¬ λ²μ : 4.0.0.0
Win32 λ²μ : 4.0.30319.34209 built by: FX452RTMGDR
μ½λλ² μ΄μ€: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_ko_b77a5c561934e089/mscorlib.resources.dll
----------------------------------------
System.Windows.Forms.resources
μ΄μ
λΈλ¦¬ λ²μ : 4.0.0.0
Win32 λ²μ : 4.0.30319.34209 built by: FX452RTMGDR
μ½λλ² μ΄μ€: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_ko_b77a5c561934e089/System.Windows.Forms.resources.dll
----------------------------------------
************** JIT λλ²κΉ
**************
JIT(Just In Time) λλ²κΉ
μ μ¬μ©νλ €λ©΄ μ΄ μμ© νλ‘κ·Έλ¨ λλ μ»΄ν¨ν°μ
config νμΌ(machine.config)μ jitDebugging κ°μ
system.windows.forms μΉμ
μ μ€μ ν΄μΌ ν©λλ€.
λν μμ© νλ‘κ·Έλ¨μ λλ²κΉ
ν μ μλλ‘ μ»΄νμΌλμ΄μΌ
ν©λλ€.
μ:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
JIT λλ²κΉ
μ μ¬μ©νλ©΄ μ²λ¦¬λμ§ μμ λͺ¨λ μμΈλ
μ΄ λν μμμμ μ²λ¦¬λμ§ μκ³ μ»΄ν¨ν°μ λ±λ‘λ JIT
λλ²κ±°μ 보λ΄μ§λλ€.
μμ© νλ‘κ·Έλ¨ λ°νμμ μ΄μ λΈλ¦¬ λ°μΈλ© μ€λ₯ λ‘κ·Έλ₯Ό νμ±ννμ¬ λ¬Έμ λ₯Ό μΆμ ν μ μμ΅λλ€.
μ΄λ€ μ΄μ λΈλ¦¬λ₯Ό λ°μΈλ©νλ €λ€ μ€λ₯κ° λ°μνλμ§λ λ‘κΉ μ νμ±ννλ©΄ νμΈν μ μμ΅λλ€.
λ‘κΉ νμ±ν
λ μ§μ€νΈλ¦¬ νΈμ§κΈ°λ₯Ό μ€ννκ³ μλ ν€λ‘ μ΄λ ν κ°μ μΆκ°ν©λλ€.
HKLM\SOFTWARE\Microsoft\Fusion
μ΄λ¦ | νμ | κ° |
---|---|---|
EnableLog | DWORD | 1 |
ForceLog | DWORD | 1 |
LogFailures | DWORD | 1 |
LogResourceBinds | DWORD | 1 |
LogPath | STRING | PATH TO LOG FILES;e.g.)c:\FusionLog\ |
μλμ κ°μ΄ λ μ§μ€νΈλ¦¬ κ°μ μΆκ°νλ©΄ λ‘κΉ μ΄ νμ±νλ©λλ€.
![](./regedit-fusion-log.png μ€μ )
λ‘κ·ΈνμΈ
λ μ§μ€νΈλ¦¬ κ° μ€ LogPath
μ μ€μ ν λλ ν°λ¦¬μ λ‘κ·Έ νμΌμ΄ λ§λ€μ΄μ§λλ€.
νμκΈ°μμ λλ ν°λ¦¬λ‘ μ΄λνλ©΄ Default, NativeImage λ κ°μ νμ λλ ν°λ¦¬κ° λ§λ€μ΄μ Έ μμ΅λλ€.
κ·Έλ¦¬κ³ , κ° λλ ν°λ¦¬μ μ€νλ μ΄μ
λΈλ¦¬ μ΄λ¦ λλ ν°λ¦¬κ° μ‘΄μ¬νκ³ , HTML
νμΌλ‘ λ΄μ©μ΄ μ μ₯λμ΄μ Έ μμ΅λλ€.
κ° HTML
νμΌμ νμΈνμ¬ μ€ν¨ λ΄μ©μ μΆμ ν μ μμ΅λλ€.
μ΄μ λΈλ¦¬ λ°μΈλ© λ‘κΉ νμ±ν μμ© νλ‘κ·Έλ¨
νλ‘μ νΈλ₯Ό λΉλνκΈ° μν΄μλ μλ μꡬμ¬νμ λ§μ‘±ν΄μΌ ν©λλ€.
- Visual Studio 2015
- .NET Framework 4.5.2
Release νμΌμ λ€μ΄λ‘λ λ°κ³ μ€ννλ©΄ μλμ κ°μ΄ κ°λ¨ν λͺ¨μμΌλ‘ μ€νλ©λλ€.
Check λ²νΌμΌλ‘ νμ¬ μνλ₯Ό νμΈν μ μκ³ , Activate, Deactivate λ²νΌμΌλ‘ νμ±, λΉνμ±μΌλ‘ μνλ₯Ό λ³κ²½ν μ μμ΅λλ€.
νμ±μ λ μ§μ€νΈλ¦¬μ κ°μ μΆκ°νκ³ , λΉνμ±μ λ μ§μ€νΈλ¦¬ κ°μ μ κ±°ν©λλ€.