2011-01-12 8 views
4

Manchmal, während ich mein Programm laufe, möchte ich einen Haltepunkt mit Bedingungen setzen. Im Moment mache ich dies, indem ich klicke, um einen unbedingten Haltepunkt zu erstellen, und dann mit der rechten Maustaste klicke, um die Bedingung zu ändern. Dies hat den Nachteil, dass ich das Programm bei einer unerwünschten Iteration anhalten werde. Gibt es eine Möglichkeit, die Bedingung sofort einzustellen?Visual Studio: Festlegen eines bedingten Haltepunkts, ohne zuerst einen bedingten Haltepunkt festzulegen

Antwort

3

Ich würde auch die Makro-Route vorschlagen. Mir wurde langweilig und ich habe es versucht, wenn dieses Makro läuft, öffnet sich ein Dialog und fragt nach dem Zustand. Sie müssen es vielleicht ein wenig schicker machen, wenn Sie mehr Schnickschnack wollen.

Sub addBreakpointWithCondition() 
    Dim cond As String = InputBox("Enter the condition") 
    DTE.Debugger.Breakpoints.Add(File:=DTE.ActiveDocument.FullName, 
     Line:=DTE.ActiveDocument.Selection.CurrentLine, Condition:=cond) 
End Sub 
+0

Was ist diese DTE-Sache, die Sie erwähnen? Wird es über verschiedene Lösungen hinweg bestehen? – Carlos

+0

Hier finden Sie mehr http://msdn.microsoft.com/en-us/library/envdte.macros.dte.aspx. Es ist die Wurzel für alle Automatisierungsvariablen (in diesem Fall wird es verwendet, um die aktuell ausgewählte Datei zu finden und die Zeile, auf der sich der Cursor befindet, an die Debugger-Schnittstelle zu liefern). Also ja, das ist alles lösungsunabhängig. –

1

Nicht über die IDE. Sie könnten ein Makro schreiben, um dies zu erreichen, EnvDTE.Debugger.Breakpoints.Add() -Methode. Damit können Sie die Condition-Eigenschaft direkt angeben. Nicht so sicher, dass die Zeit, die Sie damit verbrennen, dem wiederholten Drücken von F5 entspricht.

Verwandte Themen