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

  • Abe Olandres

    Abe Olandres

    16 EYLÜL 2006
  • bobinire

    bobinire

    24 EYLÜL 2006
  • Tutorials Junction

    Tutorials Ju

    1 Ocak 2014