Builds von managed Code, speziell Release Builds, werden schon zur Compile-Zeit geringfühig optimiert. Intern des Binaries wird zusätzlich ein Flag gesetzt, um die (Just-In-Time) Optimierung zur Laufzeit zu aktivieren. Demzufolge wird der Code unmittelbar vor Ausführung optimiert (geJITed).
Um so einen Code sinnvoll zu debuggen, benötigt man lediglich ein INI file, um die JIT Optimierung abzuschalten.
Schritte:
- Anwendungen schließen, welche den optimierten Code benutzen.
- Ein neues Textfile erstellen, welches den gleichen Namen besitzt, aber die neue Extension .ini (Bsp.: MyBinaryCode.dll -> MyBinaryCode.ini).
- Mit folgenden Inhalt füllen:
[.NET Framework Debugging Control]
GenerateTrackingInfo=1
AllowOptimize=0 - Parallel zum binary (exe/dll) legen.
- Nicht optimierten Code debuggen.
Weitere Informationen findest Du bei MSDN.
One thought on “.NET – Debugging optimized managed code / Disable JIT Optimization”