<p>KSCrash menangkap kerusakannya, tetapi tumpukan kerusakannya kosong</p>

Dibuat pada 27 Jul 2017  ·  17Komentar  ·  Sumber: kstenerud/KSCrash

Saya mendapatkan beberapa laporan kerusakan dari pengguna kami, tetapi saya menemukan bahwa beberapa tumpukan kerusakan kosong.
2017-07-27 3 00 07

Ini adalah beberapa laporan kerusakan json mentah.
1.txt
2.txt
3.txt

Komentar yang paling membantu

Saya akan melihat masalah ini minggu depan

Semua 17 komentar

Saya mendapatkan masalah yang sama.

Saya menemui masalah yang sama. Ada yang memperbaikinya?

Saya menemui masalah yang sama, tetapi mengapa?

Bagaimana mereproduksi masalah?

KSCrash atur kursor imageAddress ke 0 dalam fungsi kssymbolicator_symbolicate() saat mem-parsing tabel simbol tanpa Simbol Debugging (Xcode --> pengaturan build --> Strip Style -- >Debugging Symbols)
Semoga beruntung ...

Saya menemui masalah yang sama. Ada yang memperbaikinya?

Ketiga laporan masalah yang diberikan penulis terkait dengan pengecualian C++. Adakah yang menerima non-C++ -crash tanpa backtrace?

@bamx23 #205 menunjukkan mengapa C++ crash tidak bisa mendapatkan tumpukan crash. saya punya pertanyaan, sampai saat ini, apakah masalah tersebut telah terpecahkan? saya masih bisa mendapatkan tumpukan kosong ketika pengecualian C++ dalam kerangka kerja yang disematkan?

Saya akan melihat masalah ini minggu depan

@ bamx23 saya mendapatkan banyak tumpukan kosong yang macet, "diagnosis": "Mencoba untuk mendereferensikan null pointer."
kosong.txt

Jika memenuhi tumpukan kosong untuk pengecualian C++, dapat menemukan alasan untuk masalah ini. https://github.com/kstenerud/KSCrash/issues/205

Maaf, akan lebih baik untuk mengatakan "bulan depan".
Saya telah memeriksa KSCrash pada crash C++ dari aplikasi sampel saya, tetapi utasnya baik-baik saja. Bisakah seseorang memberikan contoh kode yang mereproduksi masalah?

@chzhij5 saudara, versi ks mana yang Anda gunakan? 1.15.8?

Hai! Kami menyelidiki masalah dan kemungkinan solusi di tim kami. Ada satu:

Selama proses instalasi KSCrashMonitor_CPPException kita dapat menggunakan "hack" yang dijelaskan dan diimplementasikan di https://github.com/facebook/fishhook. Ini memungkinkan mengaitkan panggilan apa pun dari fungsi biner yang terhubung secara dinamis. Jadi kami menghubungkan __cxa_throw untuk semua binari yang dimuat.

Jika ada perpustakaan yang memiliki simbol lemah __cxa_throw (seperti yang dimiliki KSCrash saat ini) kami akan menyebutnya dengan cara yang sama seperti yang kami lakukan sekarang. Urutannya akan seperti [fishhooked one] -> [weak one] -> [libc++abi one] .

Satu-satunya masalah yang tidak dapat diselesaikan adalah jika beberapa biner memiliki simbol __cxa_throw yang kuat di dalamnya, kita tidak dapat mengaitkannya. Tapi saya pikir tidak ada pilihan untuk menghadapi situasi seperti itu.

@kstenerud , bagaimana menurutmu? Kami telah membaca posting Anda di stackoverflow , dan tampaknya ide di atas dapat menyelesaikannya, setidaknya sebagian.

Kita dapat melanjutkan dan membuat permintaan tarik di mana kail akan menjadi ketergantungan KSCrash (atau subspesifikasi KSCrash seperti 'KSCrash/Recording/ImprovedCPPExceptionsHandling`).

[fishhooked one] -> [weak one] -> [libc++abi one] .

Kami sebenarnya dapat memanggil [libc++abi one] dari [fishhooked one] jika [weak one] tidak memanggilnya, itu memenuhi persyaratan @kstenerud .

Kedengarannya bagus, kami akan mencobanya minggu depan di aplikasi internal kami.

Ini PRnya: #375

Apakah halaman ini membantu?
0 / 5 - 0 peringkat