2017-01-25 1 views
1

Mein Lehrbuch macht die folgende Forderung:Wenn man mit dem Debuggen eines Programms beginnt, wird das Programm aus dem Hauptspeicher (in den sekundären Speicher) ausgelagert?

Wenn ein Benutzer einen Fehler im Programm vermutet, kann er oder sie das Programm debuggen, indem seine Ausführung Aussetzung der Prüfung, und das Programm oder die Daten zu modifizieren, und die Ausführung wieder aufzunehmen.

Suspend bedeutet in diesem Zusammenhang, den Hauptspeicher und den sekundären Speicher auszutauschen.

Zum Beispiel, wenn ich ein C debuggen/Python/Java-Programm wird das Programm getauscht zu diesem Zeitpunkt aus dem Hauptspeicher? Oder verstehe ich nicht, was der Autor sagt?

+0

Wenn Sie ein C-Programm debuggen, wird es immer noch in der CPU nur Schritt für Schritt ausgeführt, wo Sie sehen können, was passiert, daher ist es im Hauptspeicher. –

+0

@TonyTannous Danke für die Antwort. Also ist der Anspruch des Lehrbuchs falsch? –

+0

Was ich damit meinte, war, dass Sie es mit Ihren Augen debuggen sollten. Öffnen Sie es in einem Texteditor und starten Sie die Überprüfung Ihres Programms. Nicht in einem Debugger. Vielleicht irre ich mich aber ... warte auf weitere Antworten. –

Antwort

0

Das Debugging beinhaltet NICHT das Austauschen des Programms. Das "Suspend" beim Debugging wird normalerweise dadurch verursacht, dass ein BREAKPOINT-Befehl in den Stream gezwungen wird. Dies löst den BREAKPOINT FAULT-Handler des Betriebssystems aus. Die tatsächliche Verbindung zwischen dem Debugger und der Anwendung hängt vom Betriebssystem ab.

Wenn das Programm wurde in dem Sekundärspeicher ausgelagert würde es keine Möglichkeit, seine Speichernutzung zu untersuchen.

Verwandte Themen