Çekirdek dosyayı gdb kullanarak kaydetmek / dökmek mümkün müdür ? Bazen dosyayı daha sonra analiz etmek için kaydetmek istiyorum.
Çekirdek dosyayı gdb kullanarak kaydetmek / dökmek mümkün müdür ? Bazen dosyayı daha sonra analiz etmek için kaydetmek istiyorum.
Yanıtlar:
Gdb'de 'çekirdek dosyası oluştur' komutunu verin.
(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
, belirli bir yere kaydetmek istiyorsanız, çekirdek dosya yolunu ilk argüman olarak
gcore <pid>
Çekirdek üretmek için de kullanabilirsiniz .
gcore
göre yalnızca daha yeni gdb sürümlerinde destekleniyor. Eskileri gerektirir generate-core-file
.
generate-core-file
, ikisinin de aynı şeyi yaptığı için kısa bir isim gibi görünüyor .
pwd
komut aracılığıyla görülebilen mevcut çalışma dizinine kaydedilecektir . Değiştirmeniz gerekirse, bunucd
bir kabukta olduğu gibi yapabilirsiniz .