Çekirdek dosyayı gdb'ye kaydetme


91

Ç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:


140

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

4
GDB'nin pwdkomut aracılığıyla görülebilen mevcut çalışma dizinine kaydedilecektir . Değiştirmeniz gerekirse, bunu cdbir kabukta olduğu gibi yapabilirsiniz .
Jonathon Reinhart

3
@Jonathon_Reinhart generate-core-file, belirli bir yere kaydetmek istiyorsanız, çekirdek dosya yolunu ilk argüman olarak
geçirin

19

gcore <pid>Çekirdek üretmek için de kullanabilirsiniz .


bu yorum bölümünde olmalı
V-rund Puro-hit

8
Lütfen stackoverflow.com/help/privileges/comment sayfasına bir göz atın : Ne zaman yorum yapmamalıyım? .... "Bir soruyu yanıtlamak veya mevcut bir yanıta alternatif bir çözüm sunmak;"
Meinew

1
Görünüşe gcoregöre yalnızca daha yeni gdb sürümlerinde destekleniyor. Eskileri gerektirir generate-core-file.
scai

Bu generate-core-file, ikisinin de aynı şeyi yaptığı için kısa bir isim gibi görünüyor .
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.