Có thể lưu / kết xuất tệp lõi bằng gdb không? Đôi khi tôi muốn lưu tệp để phân tích nó sau này.
Có thể lưu / kết xuất tệp lõi bằng gdb không? Đôi khi tôi muốn lưu tệp để phân tích nó sau này.
Câu trả lời:
Phát hành lệnh 'create-core-file' trong 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
đối số đầu tiên nếu bạn muốn lưu nó ở một nơi nhất định
Bạn cũng có thể sử dụng gcore <pid>
để sản xuất lõi.
gcore
chỉ được hỗ trợ trong các phiên bản gdb mới hơn. Những cái cũ yêu cầu generate-core-file
.
generate-core-file
, cả hai đều làm cùng một việc.
pwd
lệnh. Nếu bạn cần thay đổi nó, bạn có thể làm như vậy vớicd
, giống như ở một cái vỏ.