2013-08-14 6 views
6

Sto usando lldb dalla riga di comando per eseguire il debug di un semplice programma C.Completamento della scheda LLDB per i nomi dei simboli

Sulla mia macchina al lavoro, sono stato in grado di utilizzare il completamento scheda per i nomi dei simboli. Ad esempio, se si digita "b ma" quindi scheda, la scheda verrà completata in "b principale". Lo stesso vale per altre funzioni.

Tuttavia, non riesco a far funzionare questa funzione sul mio portatile, in cui una scheda effettiva (valore ASCII 9) viene inserita dopo il cursore. Entrambe le macchine eseguono 10.8.4 e hanno l'ultimo Xcode.

Qualche idea?

risposta

4

Penso che tu stia eseguendo gdb su uno dei tuoi due sistemi.

lldb può eseguire il completamento delle schede: può eseguire il completamento di tabulazioni più sofisticato rispetto a gdb, ma è necessario utilizzare la forma canonica dei comandi lldb perché funzioni. Il comando b che si sta utilizzando è un alias (un alias dell'espressione regolare, un elenco di espressioni regolari che tentano di analizzare il comando breakpoint e fare la cosa giusta) che non fornisce al motore di completamento della scheda lldb sufficienti informazioni sul contesto da eseguire nulla.

Invece, se si dovesse fare

(lldb) br s -n ma<TAB> 

sarebbe completamento automatico. Questa è la forma abbreviata di breakpoint set --name, ovviamente.

La bravura di lldb viene a effetto quando ti rendi conto che lldb può linguetta lotti completi di argomenti diversi - breakpoint set --file di file Tab completerà "file" come un nome di file. breakpoint set --selector completerà automaticamente i nomi dei selettori. breakpoint set --shlib (che limita il breakpoint a impostare solo in un dylib/framework/binario specifico) si completerà automaticamente con l'elenco di dylibs/frameworks/binari.

A un certo punto nel futuro vogliamo ottenere il completamento della tabulazione lavorando con comandi alias come b ma nessuno ha ancora avuto il tempo di risolverlo.

+0

Ho [una domanda simile] (http://stackoverflow.com/questions/37612340/when-can-lldb-autocomplete-expression) sul completamento automatico, puoi dare un'occhiata? Sembra che tu sappia qualcosa su lldb. Grazie. – Karl