Es gibt eine Technik, die Sie verwenden können, um Code innerhalb eines Haltepunkts einzufügen. Es ist einfach und funktioniert.
- Setze einen Haltepunkt
- Klicke mit der rechten Maustaste auf den Haltepunkt und wähle "Bedingungen"
- Gib deine Codezeile in die Bedingung ein (es muss kein bool zurückgegeben werden)
- Führe das Programm aus
Wenn Ihr Haltepunkt erreicht wird, wird der Code ausgeführt, und der Debugger wird NICHT am Haltepunkt anhalten (weil Sie kein Bool zurückgegeben haben).
Ich habe diesen Tipp vom Visual Studio Tips Blog erhalten: http://blogs.msdn.com/b/zainnab/archive/2010/05/04/set-a-complex-breakpoint-condition-vstipdebug0022.aspx
Hier ist ein Beispielprogramm, das die Technik veranschaulicht:
static void Main(string[] args)
{
List l = new List();
Console.WriteLine(l[0]);
System.Console.ReadLine();
}
Wenn Sie diesen Code wie er ist ausführen, erhalten Sie eine Ausnahme. Bevor Sie ihn jedoch ausführen, fügen Sie eine Haltepunktzeile zu Console.WriteLine() hinzu.
Klicken Sie mit der rechten Maustaste auf den Haltepunkt und wählen Sie "Bedingungen" Fügen Sie im Bedingungsfenster den folgenden Code hinzu:
l.Add("Hallo")
Jetzt führen Sie das Programm aus.
Sicherlich kann eine Person mit diesem "Feature" in große Schwierigkeiten geraten -- Sie können das Verhalten Ihrer Anwendung mit Haltepunkten ändern, sodass ein unabhängiger Build des Codes sich anders verhält als wenn er auf Ihrem Computer in Ihrem Debugger ausgeführt wird. Seien Sie also sehr vorsichtig...