2013-04-21 15 views
9

Ich habe festgestellt, dass in GDB, wenn Befehle mit langer Ausgabe wie info variables ausgegeben wird, die Ausgabe wird eine Seite zur Zeit angezeigt, drücken enter zu gehen und q zu beenden.Verwenden weniger als gdb Pager

Ist es möglich, den Standardpager durch einen anderen zu ersetzen, z. B. less, damit ich nach oben und unten navigieren, aufhören, suchen usw. kann?

Antwort

5

Is it possible to replace the default pager with another one

No: GDB nicht an einem externes Programm ruft die Ausgabe angezeigt wird, ist es einfach Pausen die Ausgabe jeden ganzen Bildschirm (und man kann es nicht durch set height 0 Pause machen).

In addtion zum Laufen innerhalb emacs, könnten Sie auch screen oder tmux (Lern ihnen werden Sie in der Regel in vielen anderen Situationen helfen) verwenden, oder GDB fragen Ausgang (set logging on) anmelden und suchen dann in gdb.txt mit jeder $PAGER Sie wollen.

+0

Perfect: Ich vermutete, dass es so etwas wie das war, aber nicht wissen, über die Höhe 0. Ich bin schon mit ' tmux', das ist also die beste Option! Vielen Dank! – AkiRoss

3

run gdb innerhalb von emacs und Sie sollten in der Lage sein, Emacs Paging-Befehle zu verwenden.

  1. Lauf Emacs
  2. Typ M-x gdb return (M steht für meta - Alt-Taste oder eine Option auf Macs)
  3. Die Meldungsleiste Emacs nun die Meldung werden angezeigt: Run gdb (like this): gdb

Weitere Informationen ist hier verfügbar: http://tedlab.mit.edu/~dr/gdbintro.html

HTH

2

können Sie legen Sie die folgenden benutzerdefinierten Kommandos in ~/.gdbinit, dann

% cat ~/.gdbinit 
python import os 
define less1 
    python os.popen("less","w").write(gdb.execute("$arg0",to_string=True)) 
end 

define less2 
    python os.popen("less","w").write(gdb.execute("$arg0 $arg1",to_string=True)) 
end 
... 
% gdb 
(gdb) less2 info var 
... 
(gdb) less1 disass 
... 
+0

'Traceback (jüngste Aufforderung zuletzt): File "" Linie 1 in Nameerror: name 'o' definiert ist, nicht Fehler beim Ausführen von Python – Barry

+0

code.' Bitte fügen Sie "python import os" in Ihrem. gdbinit zuerst. – wangych