Monthly Archives: December 2008

Syntax highlighting für TR1-header!?

Wer schon mit TR1 und den neuen Features gearbeitet hat, dem wird aufgefallen sein, dass es zu den Headern keine Syntax-Highlighting gibt. Dies ist wohl ein Bug…
Man muss es nur in der Registry eintragen, dann wird es passenden angezeigt:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Languages\Extensionless Files\{B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}]
"array"=""
"random"=""
"regex"=""
"tuple"=""
"type_traits"=""
"unordered_map"=""
"unordered_set"=""
"xawrap"=""
"xawrap0"=""
"xawrap1"=""
"xawrap2"=""
"xfwrap"=""
"xfwrap1"=""
"xrefwrap"=""
"xtr1common"=""
"xxbind0"=""
"xxbind1"=""
"xxcallfun"=""
"xxcallobj"=""
"xxcallpmf"=""
"xxcallwrap"=""
"xxfunction"=""
'xxmem_fn"=""
"xxpmfcaller"=""
"xxrefwrap"=""
"xxresult"=""
"xxtuple0"=""
"xxtuple1"=""
"xxtype_traits"=""

Siehe auch: Enable syntax highlighting for TR1 headers in VS2008 SP1

Debugging .NET Apps wird ab .NET4 besser…

Eines der größten Nachteile in der aktuellen .NET-Welt ist der sehr schlechte support für das Debuggen von MiniDumps. Dies ist aktuell nur mit sehr viel Aufwand möglich. Geschweige denn, dass es irgendeine Unterstützung gäbe um den .NET Source-Code anzuzeigen.
Es gab mal eine WinDbg-Version (6.7.5.0) die dies konnte. Das war aber ein “Missverständniss” und diese Version wurde 3 Tage später wieder aus der offizielen Seite entfernt. Der Grund ist wohl, dass hier undokumentierte Schnittstellen des CLR-Teams verwendet wurden. Und wie dies bei MS so üblich ist, kann man nicht einfach zwischen zwei Teams kommunizieren. Das geht nunmal nicht.
Das ist auch der Grund, warum nun von WinDbg-Team ganz offiziell die Zusammenarbeit mit dem CLR-Team beendet wurde. Es wird also in absehbarer Zeit keine .NET-Unterstützung in WinDbg geben (Anmerkung: sos.dll kommt *nicht* vom WinDbg-Team sondern vom CLR-Team!).

Auf der PDC wurde jetzt aber dieses Jahr doch ein neues “Konzept” für das Debuggen von .NET4-Applikationen vorgestellt. Es wurde (endlich) erkannt, dass es doch wichtig ist z.B. (Mini-) Dumps zu analysieren. Deshalb haben sie wohl das ganze Debugging in .NET4 umgestellt und diese Unterstützung auch mit eingebaut. Endlich mal gute Nachrichten für .NET.

Mehr Infos gibt es hier:
CLR 4.0 advancements in diagnostics

Die Neuerungen sind u.a.:

  • Managed dump debugging
  • Profiler attach (and detach) for memory diagnostics and sampling
  • Registry-free profiler activation
  • x64 mixed-mode debugging
  • lock inspection
  • Corrupted-state exceptions