Ich denke, Sie führen gdb auf einem Ihrer beiden Systeme.
lldb kann Tab-Vervollständigung durchführen - es kann ausgefeiltere Tab-Vervollständigungen als gdb ausführen - aber Sie müssen die kanonische Form der lldb-Befehle verwenden, damit es funktioniert. Der von Ihnen verwendete Befehl b
ist ein Alias (ein Alias für reguläre Ausdrücke - eine Liste regulärer Ausdrücke, die versuchen, Ihren Breakpoint-Befehl zu parsen und das Richtige zu tun), was der ldb-Registerkarte-Vervollständigungs-Engine nicht genügend Informationen über den Kontext gibt etwas.
Stattdessen, wenn Sie
(lldb) br s -n ma<TAB>
zu tun wäre, würde es automatisch vervollständigt. Dies ist natürlich die Kurzform von breakpoint set --name
.
Die Klugheit von LLDB kommt in zu bewirken, wenn Sie, dass LLDB können Tab vollständige viele verschiedene Argumente erkennen - breakpoint set --file
Datei Tab wird abgeschlossen „Datei“ als Dateinamen. breakpoint set --selector
wird Selektornamen automatisch vervollständigen. breakpoint set --shlib
(der den Haltepunkt so begrenzt, dass er nur in einem bestimmten dylib/framework/binary gesetzt wird) wird mit der Liste der dylibs/frameworks/binaries automatisch vervollständigt.
Zu einem bestimmten Zeitpunkt in der Zukunft wollen wir die Tab-Vervollständigung mit Alias-Befehlen wie b
arbeiten lassen, aber niemand hat Zeit gehabt, diesen noch anzugehen.
Ich habe [eine ähnliche Frage] (http://stackoverflow.com/questions/37612340/when-can-lldb-autocomplete-expression) über die automatische Vervollständigung, können Sie einen Blick darauf werfen? Scheint du weißt etwas über lldb. Vielen Dank. – Karl