2011-01-14 33 views
6

Nachdem ich von this ASP.NET MVC video in das Call-Stack-Fenster eingeführt wurde, habe ich versucht zu verstehen, wie es funktioniert.Call-Stack-Fenster immer leer

Mein Verständnis war, dass es alle Methodenaufrufe zeigt - in der Reihenfolge, in der sie aufgerufen wurden. Aber es ist immer leer während ich debugge - mache ich etwas falsch?

Antwort

8

Ahh - Wie es normalerweise der Fall ist, sobald ich eine Frage gestellt habe, arbeite ich es aus!

Sein stellt sich heraus, es ist nur dann angezeigt, wenn ein Haltepunkt

+0

Oder getroffen wurde, wenn Sie die Pause-Taste gedrückt haben. Wenn der Aufruf-Stack angezeigt wird, während die Anwendung ausgeführt wird, würde der Aufruf-Stack jede Sekunde millionenfach aktualisiert. Daher müssen Sie die Anwendung explizit anhalten (indem Sie sie anhalten oder einen Haltepunkt verwenden). – Patrick

+0

@Patrick - Ich verstehe vielen Dank. Allerdings kann ich nicht verstehen, warum der Call-Stack nicht angezeigt wird. Das Programm läuft normal - ich bin mir sicher, dass es nicht "Millionen Mal pro Sekunde" ist, sondern nur jedes Mal, wenn eine Methode –

+0

Using Process genannt wird Explorer (www.sysinternals.com) Sie können die Aufrufliste von einem laufenden Prozess (Doppelklick-Prozess, wählen Sie Thread, Doppelklick-Thread), aber es ist immer noch ein Schnappschuss des aktuellen Aufruf-Stacks. Aber möglicherweise könnte es dir in deinem Fall helfen. – Patrick