Чи можна зберегти / скинути основний файл за допомогою gdb? Іноді я хочу зберегти файл, щоб проаналізувати його пізніше.
Чи можна зберегти / скинути основний файл за допомогою gdb? Іноді я хочу зберегти файл, щоб проаналізувати його пізніше.
Відповіді:
Виконайте команду 'create-core-file' у gdb.
(gdb) help generate-core-file
Save a core file with the current state of the debugged process.
Argument is optional filename. Default filename is 'core.<process_id>'.
(gdb) break main
Breakpoint 1 at 0x400e0b: file utils/udec.c, line 36.
(gdb) r
Starting program: /home/nos/build/utils/udec
Breakpoint 1, main (argc=1, argv=0x7fffffffe9a8) at utils/udec.c:36
36 int fileargc = 1;
(gdb) generate-core-file
Saved corefile core.7336
generate-core-file
перший аргумент, якщо ви хочете зберегти його в певному місці
Ви також можете використовувати gcore <pid>
для отримання ядер.
gcore
це підтримується лише в новіших версіях gdb. Старі вимагають generate-core-file
.
generate-core-file
обох, що роблять одне і те ж.
pwd
команди. Якщо вам потрібно змінити його, ви можете зробити це за допомогоюcd
, як і в оболонці.