2012-12-18 24 views
7

Podczas wyszukiwania symbolu C lub definicji globalnej przy użyciu cscope wyświetlane są nazwy plików i numery linii. Chciałbym zobaczyć pełne ścieżki plików, aby móc przeskoczyć do mojego konkretnego pliku archiwum. Na przykład, gdy szukając globalnej definicji __switch_to na cscope kompilacji kodu na Linux-base, otrzymuję:Sposób wyświetlania pełnych ścieżek pliku podczas wyszukiwania

Global definition: __switch_to 

    File   Line 
0 process.c 297 struct task_struct *__switch_to(struct task_struct *prev, 
1 switch_to.h 44 #define __switch_to(prev,next,last) do { \ 
2 process.c 202 struct task_struct *__switch_to(struct task_struct *old, 
3 process.c 400 struct task_struct *__switch_to(struct task_struct *prev, 
4 process_32.c 211 __switch_to(struct task_struct *prev, struct task_struct *next) 
5 process.c  80 void *__switch_to(struct task_struct *from, struct task_struct *to) 
6 process_32.c 248 __switch_to(struct task_struct *prev_p, struct task_struct *next_p) 
7 process_64.c 272 __switch_to(struct task_struct *prev_p, struct task_struct *next_p) 

Teraz plik process.c jest inna dla każdego arch. Jak wyświetlić cscope wyświetlać pełne ścieżki plików?

Odpowiedz

6

Run cscope z args -pn

-pn Wyświetla ostatnie elementy toru N plików zamiast domyślnego (1). Użyj 0, aby nie wyświetlać nazwy pliku.

Biegając z Cscope -P4 i szukając globalnej definicji wyników __switch_to w

Global definition: __switch_to 

    File       Line 
0 arch/arm64/kernel/process.c 297 struct task_struct *__switch_to(struct task_struct *prev, 
1 ia64/include/asm/switch_to.h 44 #define __switch_to(prev,next,last) do { \ 
2 arch/openrisc/kernel/process.c 202 struct task_struct *__switch_to(struct task_struct *old, 
3 arch/powerpc/kernel/process.c 400 struct task_struct *__switch_to(struct task_struct *prev, 
4 arch/sh/kernel/process_32.c 211 __switch_to(struct task_struct *prev, struct task_struct *next) 
5 arch/um/kernel/process.c  80 void *__switch_to(struct task_struct *from, struct task_struct *to) 
6 arch/x86/kernel/process_32.c 248 __switch_to(struct task_struct *prev_p, struct task_struct *next_p) 
7 arch/x86/kernel/process_64.c 272 __switch_to(struct task_struct *prev_p, struct task_struct *next_p)