Saya menganalisis file crash dump yang macet saat memuat atau menyimpan file data (lokal) tertentu. Tumpukan panggilan menunjukkan bahwa ia telah mengeksekusi memuat file itu pada saat mogok.

Saya bertanya-tanya apakah saya perlu memiliki file data ini bersama dengan file dump juga untuk menganalisis kerusakan secara akurat? Apakah itu akan memengaruhi pointer dengan cara apa pun seperti nama file dll?

-1
zar 17 Maret 2017, 18:15

2 jawaban

Jawaban Terbaik

Tidak, Anda tidak membutuhkannya. Apa yang akan Anda analisis dengan gdb adalah cuplikan memori yang digunakan oleh aplikasi Anda yang dibuat saat mogok, bersama dengan aplikasi Anda. Dengan demikian, hanya diperlukan untuk memiliki file inti, dan aplikasi Anda (biner + perpustakaan yang diperlukan; dalam kasus terbaik Anda akan memerlukan kode sumbernya untuk dapat menghubungkan info debug ke algoritme). Semua pointer, variabel, dan lainnya akan memiliki nilai sesuai dengan waktu ketika inti telah dibuang.

PEMBARUAN: Tapi, Anda juga dapat menjalankan aplikasi Anda secara interaktif dari debugger dan melangkah hingga Anda mogok. Maka ya, Anda akan membutuhkan file Anda.

1
dmi 17 Maret 2017, 15:24

Itu tergantung pada jenis crash dump dan flag yang digunakan saat membuat crash dump. Sebuah dump memori penuh memiliki semua memori yang dimiliki aplikasi juga pada saat crash. Tanda MINIDUMP_TYPE memberi Anda kesan tentang apa yang mungkin. Untuk C++, dump apapun biasanya membantu, untuk .NET memori penuh lebih disukai.

Selain dump, Anda jarang membutuhkan file tambahan, kecuali file PDB yang berisi informasi tentang file sumber dan nomor baris.

1
Thomas Weller 17 Maret 2017, 18:07