2009-07-13 3 views
4

GDB, zumindest so, wie es standardmäßig auf meiner Ubuntu 9.04-Box konfiguriert ist, verarbeitet keine mehrzeiligen Anweisungen. Wenn ich durch Code gehe, zeigt GDB nur die letzte Zeile der aktuellen Anweisung an, selbst wenn diese Anweisung mehrere Zeilen umfasst.GDB wird dazu gebracht, die Gesamtheit der mehrzeiligen Anweisungen anzuzeigen

Ich bin mir bewusst, dass ich DDD oder Emacs als Frontend für GDB verwenden könnte, aber ich würde dieses Problem innerhalb GDB lösen, wenn das möglich ist.

Weiß jemand, ob es eine Möglichkeit gibt, GDB dazu zu bringen, hier das Richtige zu tun?

Antwort

2

Ich fürchte die Antwort ist "Nein, es gibt keine Möglichkeit, gdb zu tun, was Sie wollen". Die Zeileninformationen in den Symboltabellen verknüpfen jede Codeanweisung mit einer einzelnen Quellzeile (keine Quellanweisung). gdb hat keine Möglichkeit zu wissen, dass mehrere Quellzeilen mit derselben Quellanweisung verknüpft sind.

4

Wie wäre es mit GDB mit der text user interface?

gdb -tui 

Es macht einen großen Unterschied zur Benutzerfreundlichkeit von GDB.

+0

Das ist hilfreich, aber ich würde es vorziehen, nur die normale Schnittstelle zu verwenden, weil die Konsolenausgabe meines Programms dem Tui in die Quere kommt. Natürlich könnte ich den Text auf ein anderes tty umleiten, aber ... Ich möchte nur, dass GDB Do The Right Thing macht. –