Freitag, 17. Juli 2009

Erweitertes Debuggen

Oft stößt der SharePoint-Entwickler während seiner Arbeit auf solche Ärgernisse wie SharePoint-Fehlermeldungen á la "Unknown error" z.B. beim Erstellen einer SiteCollection mittels einer Solution. Wenn man dann noch richtig Glück hat, stehen in SharePoint-Log und EventViewer keine weiteren Details dazu, die Hilfe, die SharePoint hier von Haus aus bietet, ist in diesem Falle wertlos.

Hier empfiehlt es sich, ein paar zusätzliche Einstellungen im Visual Studio vorzunehmen, was den Erfassungsradius von auftretenden Exceptions wesentlich vergrößert und eine Hilfe sein kann, die Ursachen für eine Fehlermeldung wie die obige zu finden.

Zuerst wird unter Tools->Options->Debugging die Option "Enable Just My Code (Managed only)" deaktiviert. Dies weist den Debugger an, über den Tellerand des eigenen Codes zu schauen und auch andere Exceptions zu erfassen:




Als nächstes muss die Option "Common Language Runtime Exceptions" unter Debug->Exceptions aktiviert werden damit der Prozess auch weiß, bei welcher Art von Exceptions die Verarbeitung zusätzlich angehalten werden soll.



Damit sind die nötigen Vorbereitungen abgeschlossen. Nun wird sich an den w3wp-Prozess angehängt (wie man dafür einen VS-ShortCut anlegt, beschreibe ich hier) und wenn nun eine Exception auftritt, hat man, wie auf dem folgenden Bild zu sehen, die Möglichkeit, zusätzliche Informationen zur aktuellen Situation abzufragen:




Wer noch tiefer in das Thema "verbesserte Debugging-Möglichkeiten" einsteigen möchte, dem empfehle ich diese Seite, die das obige Vorgehen ebenfalls erläutert und noch weiter in die Materie eindringt: http://blog.thekid.me.uk/archive/2007/07/25/debugging-tips-for-sharepoint-and-wss-exceptions.aspx