9

コマンドラインからを使用lldbして単純な C プログラムをデバッグしています。

職場のマシンでは、シンボル名にタブ補完を使用できました。たとえば、「b ma」と入力Tabすると、「b main」にタブ補完されます。他の機能についても同様です。

ただし、カーソルの後に実際のタブ (ASCII 値 9) が挿入されているラップトップでは、この機能を動作させることができません。どちらのマシンも 10.8.4 を実行しており、最新の Xcode を使用しています。

何か案は?

4

1 に答える 1

7

2 つのシステムのうちの 1 つで gdb を実行していると思います。

lldb はタブ補完を行うことができます -- gdb よりも洗練されたタブ補完を行うことができます -- しかし、それを機能させるためには lldb コマンドの標準的な形式を使用する必要があります。使用bしているコマンドはエイリアス (正規表現エイリアス - ブレークポイント コマンドを解析して正しいことを実行しようとする正規表現のリスト) であり、lldb タブ補完エンジンにコンテキストに関する十分な情報を与えません。 .

代わりに、あなたがするなら

(lldb) br s -n ma<TAB>

オートコンプリートします。もちろん、これは の短縮形ですbreakpoint set --name

lldb の巧妙さは、lldb が多くの異なる引数をタブで補完できることに気付いたときに有効になります。file は、ファイル名として「 breakpoint set --filefile Tab」を補完します。 breakpoint set --selectorセレクター名をオートコンプリートします。 breakpoint set --shlib(ブレークポイントを特定の dylib/framework/binary にのみ設定するように制限します) は、dylibs/frameworks/binary のリストでオートコンプリートします。

将来のある時点で、次のようなエイリアス コマンドでタブ補完が機能するようにしたいと考えていますbが、まだ誰もそれに取り組む時間がありませんでした。

于 2013-08-15T03:23:29.857 に答える