GDB предоставляет две функции, которые помогут вам просматривать заголовочные файлы: (1) список источников и (2) редактирование имени файла: linenum. Как указано в предыдущем ответе, GDB не может определить, является ли файл текущим
. list sources
покажет вам все исходные файлы в сборке (для файлов, скомпилированных с -g). Например, программа
#include <stdlib.h>
#include <stdio.h>
void main(void) { int x ;
fgets(NULL, 100, stdin) ;
}
Will show
gdb a.out
(gdb) info sources
Source files for which symbols have been read in:
/home/owner/a.c, /usr/lib/gcc/x86_64-linux-gnu/7/include/stddef.h, /usr/include/x86_64-linux-gnu/bits/types.h, /usr/include/x86_64-linux-gnu/bits/libio.h,
/usr/include/stdio.h, /usr/include/x86_64-linux-gnu/bits/sys_errlist.h
Вы можете запросить редактирование / просмотр любого файла, используя 'edit filename: line'. Имя файла может быть указано без пути, если оно отличается
edit stdio.h:1
# If base name not unique, use full path:
edit /usr/include/stddef.h:1
Обратите внимание, что номер строки обязательный