2017-12-10 4 views
0

Ich versuche, den Debugger zu erhalten in einer Linie zu stoppen, indem dieUnity: (C#) Code, um innerhalb einer if-Anweisung zu brechen?

Debug.Break() 

mit Aber all dies der Einheit Editor zu tun scheint, ist Pause. Meine IDE hört nicht auf.

Ich weiß, dass meine IDE als Debugger angehängt ist, denn wenn ich einen Haltepunkt in der Update-Methode platziere, stoppt es.

Ich versuche, so etwas wie diese

if (movespeed >10) { 
    Debug.Break(); // Needs to stop debugger on this line 
} 

Irgendwelche Ideen zu tun, was ich falsch mache?

+0

Setzen Sie den Haltepunkt in Ihrer IDE in den if-Block. – JeanLuc

+0

Ich kenne keine Einheit, aber in regulären .NET kann Debugger.Break() dafür verwendet werden. – Evk

+0

Ja, Debugger.Break() scheint nicht zu funktionieren – Martin

Antwort

0

Der Name kann irreführend sein, aber Debug.Break stoppt den Debugger nicht.

Nach den documentation:

Debug.Break

public static void Break();

Beschreibung

Bricht der Herausgeber.

Dies ist nützlich, wenn Sie bestimmte Werte im Inspector überprüfen möchten und nicht manuell anhalten können.

+0

Ist es möglich, den Debugger dann mit etwas anderem zu stoppen? – Martin

+0

Soweit ich weiß, ist der Debugger nur mit einem Haltepunkt zu stoppen. Falls Sie den Debugger unter bestimmten Bedingungen stoppen müssen, können Sie diesem Breakpoint bedingte Logik hinzufügen. Eine andere Option ist eine Ausnahme auszulösen, etwa wie 'neue UnityException()' werfen – mayo

Verwandte Themen