Nützliches Tool für die WinDbg Erweiterung SOS: SOS Assist

Kürzlich bin ich auf das Tool SOS Assist aufmerksam geworden, die eine grafische Oberfläche zu WinDbg SOS anbietet:

SOS Assist

Leider wird das Tool (laut ChangeLog) seit 2006 nicht mehr gepflegt. Im praktischen Einsatz konnte es zwar durch die zahlreichen Infofenster punkten, doch in Punkto Stabilität sind noch einige Defizite zu spüren.

Bisher hatte ich mir immer mit ClrDump (http://www.debuginfo.com/tools/clrdump.html) beholfen, welches mir CrashDumps zur Analyse erstellte. Diese konnte ich dann im WinDbg laden und mittels SOS-Erweiterung analysieren.

Screenshots: http://old.thinktecture.com/SOSAssist/Screenshots.htm

Download: http://old.thinktecture.com/SOSAssist/default.html

Übrigens: Zum Thema CrashDump-Analyse zum Aufspüren von Sicherheitslücken hat auch das MSDN-Magazin einen Artikel veröffentlicht: http://msdn.microsoft.com/msdnmag/issues/07/11/ExploitingCrashes/default.aspx?loc=de

Sehr lesenswert!

Auszüge aus „Powerpoint – Das Ideenbuch“ kostenlos zum Download

Vor ein paar Monaten habe ich als Vorbereitung für eine Präsentation mir das Buch „Powerpoint – Das Ideenbuch“ von Microsoft Press gekauft.

Heute – beim Stöbern auf der Seite vom EDV-Buchversand.de – bin ich auf eine 100 Seiten-gratis-Probe des Buchs gestoßen. Da ich das Buch schon habe, kann ich es nur weiter empfehlen! Sind echt viele nette kleine Ideen drin, wie man Präsentationen insbesondere mit Diagrammen aufpeppen kann!

Powerpoint - Das Ideenbuch 

Download: http://go.microsoft-press.de/?id=50671

Viel Spaß beim Lesen!

Kostenloses XML/XSD-Tool á la XML Spy

Seit kurzem verwende ich als Ersatz für den recht teuren XML Spy das Tool „Liquid XML Studio“ von Liquid Technologies.

Als XML Schema Editor ist das Ding echt spitze und daher kann ich es nur empfehlen. Klar, an XML-Spy kommt das gute Stück nicht ganz ran (z.B. fehlt die Grid-Ansicht), aber für 0,-€ ist es unschlagbar 😉

Liquid XML Studio

Download: http://www.liquid-technologies.com/Product_XmlStudio.aspx

Tutorial: http://www.liquid-technologies.com/XsdTutorial_01.aspx

Kostenloses Trainingsmaterial zu SharePoint 2007

Heute bin ich zufällig über das Blog von Neil Thompson gestoßen. Dort hat er unter dem Titel „Training Material Roadmap“ zahlreiche Trainingsmaterialien zur SharePoint 2007 als Word-Dateien verlinkt.

Zusätzlich gibt es noch Links zu Webcasts und MP3-Podcasts zu dem Thema. Alles frei herunterladbar 🙂

Hier der Link: http://blogs.msdn.com/neilth/pages/office-sharepoint-server-2007-training-material-roadmap.aspx

Ermitteln von Assembly-Dependencies – oder „Wie werde ich diese verd*** FileNotFound-Exception los?“

Ich ärgere mich momentan mit einem Projekt herum, welches ich nicht problemlos deployen kann. Ich verwende dazu Interop-Technologien aus C++/CLI.

Leider läßt sich das Programm nicht auf einem frisch installierten Zielrechner ausführen. Irgendeine Abhängigkeit muss es noch geben, die bei Installer nicht berücksichtigt wurde.

Aus diesem Grund habe ich mich etwas mit Assembly-Abhängigkeiten (bzw. Assembly-Dependencies) beschäftigen müssen. Dabei bin ich über ein nützliches Tool auf CodeProject gestoßen: Assemlby Dependencies von Natty Gur.

Weiterlesen

Abzocke: Lebenserwartung für 59,-€ berechnen

Beim Lesen von Blog-Beiträgen bin ich heute auf eine Werbe-Anzeige gestoßen, in der ich meine Lebenserwartung berechnen lassen kann:

Abzocke Ad

Als Jugendlicher habe ich mal so „Berechnungsformeln“ gesehen, aus denen man seinen Todestag berechnen lassen kann. Sowas in der Art bietet ja bereits Death Clock (http://www.deathclock.com/) GRATIS an. Da sieht man gleich, wieviele Sekunden man noch zu leben hat 😉

Weiterlesen

.NET Applikationen über das Netzwerk starten

Den größten Teil meiner Arbeit beschäftige ich mich mit der Interoperabilität von .NET-Anwendungen mit unmanaged C++-Code (no COM). Dabei kommt es immer häufiger vor, dass Anwendungen vom Netz gestartet werden sollen.

Die CAS (Code Access Security) verhindert dies, indem sie der Anwendung die Rechte für LocalIntranet-Zone zuweist. Wenn man trotzdem die Anwendung vom Netzlaufwerk aus starten möchte, muss man die CAS bemühen, der zu startenden Applikation volle Rechte zu geben (oder zumindest die benötigten Permissions).

Dies geschiet mithilfe des Tools caspol.exe, welches bei jedem .NET Framework mitgeliefert wird. Es befindet sich im Standard-Installationsverzeichnis der jeweiligen .NET Framework-Version:

{Windows-Verzeichnis}Microsoft.NET{.NET-Version}caspol.exe

Nun legen wir eine neue Codegruppe namens „FullTrustFromNetworkShare“ an:

caspol -machine -addgroup All_Code -url \serverpath* FullTrust -n FullTrustFromNetworkShare

In der grafischen .NET Framework 2.0 Configuration sieht das nun wiefolgt aus:

dotnet_20_config_caspol.png

Natürlich sollte man bei solchen Aktionen bedenken, dass man die Code-Zugriffssicherheit für das Verzeichnis quasi aushebelt und Schädlingen, die über das Verzeichnis gestartet werden, alle Rechte gibt 😐

Mehr Infos dazu gibts auf der MSDN-Seite zum CASPOL-Utility:  http://msdn.microsoft.com/library/DEU/cptools/html/cpgrfCodeAccessSecurityPolicyUtilityCaspolexe.asp

Microsoft gibt mit VS2008 den Quellcode für .NET-Klassenbibliotheken frei

Wie ich heute erfahren habe, gibt Microsoft den Quellcode für verschiedene Klassenbibliotheken frei. Bisher war es ja nicht möglich, in die Klassenbibliotheken rein zu debuggen. Das habe ich im Gegensatz zu Java schon sehr vermisst.

Welche Bibliotheken werden dabei sein?

  • Base Class Libraries (mscorlib.dll)
  • ASP.NET (System.Web.dll)
  • Windows Forms (System.Drawing.DLL & System. Windows.Forms.dll)
  • ADO.NET (System.Data.DLL)
  • XML (System.Xml.DLL)
  • WPF (System.Windows.DLL)

Leider wird der Code unter der Microsoft Reference License veröffentlicht. Heißt im Klartext: Gucken, aber nicht anfassen.

Wenn man einen Fehler im .NET Framework entdeckt, dann darf man sich freuen ihn gefunden zu haben – und wenn man ihn meldet, dann wird er  (vielleicht) bald gefixt. (frei nach dem Motto: Wer einen Fehler findet, darf ihn behalten).

WinDbg-Erweiterung für verwalteten Code: SOSEX

Neue Debugger-Befehle in dieser Erweiterung sind:
!dumpgen and !gcgen
Herausfinden, welche Objekte sich in welcher Generation der GarbageCollection befinden (z.B. !dumpgen 2 zeigt eine Liste der Objekte an, die sich in GC-Generation 2 befinden)

!refs
Zeigt alle Referenzen auf ein bestimmtes Objekt

!dlk
DeadLock detection – zur Erkennung von DeadLocks (sich behindernde Threads)

!bpsc and !bpmo
bpsc (BreakPoint Source) erlaubt das nachträgliche Setzen von Source-Breakpoints im Code an einer bestimmten Code-Zeile

!vars and !isf
Wenn an einem Breakpoint angehalten wurde, so kann mithilfe von !vars die lokalen Variablen angeschaut werden.

Mehr Infos zu den Erweiterungen gibts im Blog von Steve Johnson:
http://www.stevestechspot.com/SOSEXANewDebuggingExtensionForManagedCode.aspx

und im Blog von John Robbins:
http://www.wintellect.com/cs/blogs/jrobbins/archive/2007/06/19/great-sosex-a-phenomenal-net-debugging-extension-to-see-the-hard-stuff-steve-johnson-is-my-hero.aspx

Download x86-Edition: http://www.stevestechspot.com/downloads/sosex_32.zip
Download x64-Edition: http://www.stevestechspot.com/downloads/sosex_64.zip