SORU
29 Kasım 2011, Salı


Nasıl bir program analiz'in core dosyası gdb ile dosya?

Benim program bu gibi çalışır:

exe -p param1 -i param2 -o param3

Ve bir çekirdek dökümü core.pid dosyası çöktü oluşturdu

Çekirdek döküm dosyası analiz etmek istiyorum

gdb ./exe -p param1 -i param2 -o param3 core.pid 

ama gdb gdb giriş exe parametreleri tanır.

Nasıl çekirdek dökümü analiz bu durumda dosya? gdb Yeni duyuyorum.

CEVAP
29 Kasım 2011, Salı


Birçok yönden gdb ile çekirdek kullanabilirsiniz, ama çalıştırılabilir gdb geçirilecek olan parametreleri geçirerek çekirdek dosyası kullanmak için bir yol değildir. Bu da hata var nedeni bu olabilir. Aşağıdaki şekillerde core dosyasını kullanabilirsiniz:
gdb <executable> <core-file> gdb <executable> -c <core-file> ya

gdb <executable>
...
(gdb) core <core-file>

Çekirdek dosya kullanılırken, bağımsız değişken olarak geçmek zorunda değilsin. Kaza senaryosu gdb (gdb Sürümü Ubuntu 7.1 ile işaretli) olarak gösterilir . Örneğin:

$ ./crash -p param1 -o param2
Segmentation fault (core dumped)
$ gdb ./crash core
GNU gdb (GDB) 7.1-ubuntu
...
Core was generated by `./crash -p param1 -o param2'. <<<<< See this line shows crash scenario
Program terminated with signal 11, Segmentation fault.
#0  __strlen_ia32 () at ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:99
99  ../sysdeps/i386/i686/multiarch/../../i586/strlen.S: No such file or directory.
    in ../sysdeps/i386/i686/multiarch/../../i586/strlen.S
(gdb) 

Eğer geçmek istiyorsanız yürütülebilir parametreleri gdb içinde ayıklanacak --args kullanın.
Örneğin:

$ gdb --args ./crash -p param1 -o param2
GNU gdb (GDB) 7.1-ubuntu
...
(gdb) r
Starting program: /home/@@@@/crash -p param1 -o param2

Program received signal SIGSEGV, Segmentation fault.
__strlen_ia32 () at ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:99
99  ../sysdeps/i386/i686/multiarch/../../i586/strlen.S: No such file or directory.
    in ../sysdeps/i386/i686/multiarch/../../i586/strlen.S
(gdb) 

Man sayfaları gdb diğer seçenekleri görmek için yararlı olacaktır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 30GB

    30GB

    14 AĞUSTOS 2006
  • ExcelIsFun

    ExcelIsFun

    16 ŞUBAT 2008
  • The Bad Tutorials

    The Bad Tuto

    6 EKİM 2009