2016-06-04 7 views
1

Wenn ich einen Haltepunkt auf der letzten Zeile eines Kontexts setze, springt er, bevor ich den Rückgabewert bekomme. wennWie debugge ich letzte Zeile des Kontextes?

Zum Beispiel habe ich eine Funktion wie:

function SomeFunc(){ 

    // some stuff going on 

    $value = ThisReturnsAValue(); // breakpoint set on this line 
} 

ich nicht den Wert von $value zu sehen, bevor es aus dem Zusammenhang springt.

Was ich finde ich dabei in einer anderen Variable ist das Hinzufügen nur so kann ich brechen, nachdem der Wert wie folgt zurückgegeben:

function SomeFunc(){ 

    // some stuff going on 

    $value = ThisReturnsAValue(); 
    $foo = ''; // breakpoint now set on this line 
} 

Dann $value verfügbar ist in meinen Uhren zu sehen.

Das fühlt sich falsch an. Gibt es eine Möglichkeit, die letzte Zeile auszuwerten, bevor Sie den Kontext verlassen?

(Ich verwende PhpStorm & Xdebug)

+0

Setzen Sie den Breakpoint auf den letzten}. Der meiste Debugger unterstützt das (NetBeans tut) – Steffomio

Antwort

0

Es gibt nicht wirklich eine Lösung für diese ist. Ich mache das Gleiche.

Ich mache auch Dinge wie:

$return = $this->doStuff(); 
return $return; 

einfach den Rückgabewert zu sehen, rechts vor der Rückkehr.

In IntelliJ gibt es Optionen zum Festlegen unterschiedlicher Haltepunkttypen, die jedoch in PHPStorm/for PHP nicht verfügbar sind. Meine Vermutung liegt an Einschränkungen von XDebug oder sie sind noch nicht dazu gekommen.

Bis dahin können Sie mit Hilfe von conditional breakpoint ein bisschen näher an Ihre Anforderungen kommen. Setzen Sie einfach einen Haltepunkt wie gewohnt, klicken Sie mit der rechten Maustaste auf die rote Kugel und fügen Sie Ihren Zustand hinzu. Es wird nun glücklich fortgesetzt, wenn die Bedingung nicht erfüllt ist.