Die Klasse Debugger
Der NS System.Diagnistics, bringt neben den bekannten Verdächtigen wie zB. Process, Debug oder EventLog auch noch eine Klasse mit die uns beim Debugging ein wenig unter die Arme greifen kann.
zb kann man mittels der dem Folgen Code überprüfen, ob die Anwendung im Debugger läuft.
if (Debugger.IsAttached)
Debug.Write("Debugger Is Attached");
Man kann sogar dem Debugger einen Breakpoint unterschieben, zB. wenn man von der Existens eines Fehler weiß, jedoch nichts über dessen Umstände oder Reproduzierbarkeit. Das einzige was man weiß, ist zb Beispiel der Fehler, in einer Methode auftritt sobald der Übergabeparameter 0 ist. (zB. weil durch 0 geteilt wird)
public void Berechung(int zahl){
if (zahl == 0){
if(Debugger.IsAttached)
Debugger.Break();
else{
MessageBox.Show("Fehler", "Fehler");
return;
} }
...
}
Dieser Code macht nichts anderes, als zu prüfen, ob der Übergabeparameter 0 ist und wenn die Anwendung im Debugger läuft, dann unterbreche an genau dieser Stelle. (Ich weiß, dass ich das ganze auch in der IDE, über das Context-Menü, des Breakpoint abfangen könnte)