GNU/Linux >> Belajar Linux >  >> Linux

Kesalahan segmentasi SIGSEGV yang aneh dalam metode std::string::assign() dari libstdc++.so.6

Saya kira mungkin ada beberapa masalah di dalam FormatTimeStamp berfungsi, tetapi tanpa kode sumber sulit untuk mengatakan apa pun. Cobalah untuk memeriksa program Anda di bawah Valgrind. Biasanya ini membantu memperbaiki bug semacam itu.


Ada dua kemungkinan kemungkinan:

  • beberapa kode sebelum baris 798 telah merusak tmpTimeStamp lokal objek
  • nilai kembalian dari FormatTimeStamp() entah bagaimana buruk.

_GLIBCXX_FULLY_DYNAMIC_STRING kemungkinan besar adalah pengalih perhatian dan tidak ada hubungannya dengan masalah tersebut.

Jika Anda menginstal debuginfo paket untuk libstdc++ (Saya tidak tahu apa namanya di CentOS), Anda akan dapat "melihat ke dalam" kode itu, dan mungkin dapat mengetahui apakah sisi kiri (LHS) atau RHS dari operator penugasan menyebabkan masalahnya.

Jika itu tidak memungkinkan, Anda harus men-debug ini di tingkat perakitan. Masuk ke frame #2 dan melakukan x/4x $ebp harus memberi Anda ebp sebelumnya , alamat penelepon (0x081402fc ), LHS (harus cocok dengan &tmpTimeStamp dalam bingkai #3 ), dan RHS. Mulai dari sana, dan semoga berhasil!


Linux
  1. Jaringan Linux - Masalah kecil yang aneh dengan DNS, DHCP

  2. Apakah Ada Kompilator atau Runtime C yang "esoterik" (aneh) Tapi Sesuai Standar?

  3. Linux – Bisakah Kita Mendapatkan Informasi Kompilator Dari Biner Elf?

  1. Kurangi Konsumsi Bandwidth Dari Mengunduh Pembaruan Yum?

  2. Keluar dari Karakter Tidak Dikenal Dari String Untuk -exec?

  3. Memanipulasi {} Mengembalikan String Dari Find -exec?

  1. Linux:apakah ada pembacaan atau pemulihan dari soket dengan batas waktu?

  2. Dari mana saya dapat menemukan kode sumber perintah cp?

  3. Kesalahan segmentasi saat Qt QApplication dibuat dengan yang baru