Rumah >pembangunan bahagian belakang >C++ >Mengapakah GDB melemparkan ralat tentang fail raise.c yang hilang walaupun saya mendapat pengecualian?

Mengapakah GDB melemparkan ralat tentang fail raise.c yang hilang walaupun saya mendapat pengecualian?

Patricia Arquette
Patricia Arquetteasal
2024-11-10 06:57:021014semak imbas

Why is GDB throwing an error about a missing raise.c file even though I'm catching an exception?

Ralat GDB: Fail raise.c hilang

Apabila menjalankan GDB untuk nyahpepijat program, pengguna mungkin menghadapi mesej ralat yang mengadu tentang kehilangan fail raise.c. Ini berlaku walaupun mendapat pengecualian. Untuk menyelesaikan isu ini, adalah perlu untuk menyediakan GDB untuk penyahpepijatan kod sumber penuh pustaka C.

  1. Pasang Versi Debuginfo Libc6:

    Jika belum dipasang, pasang versi debuginfo libc6 menggunakan:

    sudo apt install libc6-dbg
  2. Sediakan Sistem Pakej:

    Pastikan pakej sistem boleh memproses pakej kod sumber dengan:

    • Memasang dpkg-dev: sudo apt install dpkg-dev
    • Menyemak baris deb-src dalam /etc/apt/sources.list ( unycomment jika perlu)
    • Mengemas kini repositori: sudo apt update
  3. Muat turun Kod Sumber:

    • Buat direktori (cth., /opt/src)
    • Muat turun kod sumber untuk versi pustaka C yang dipasang:

      cd /opt/src
      apt source libc6
    • Perhatikan nama direktori (cth. , /opt/src/glibc-2.23)
  4. Konfigurasikan GDB:

    Tentukan direktori tempat GDB mengharapkan kod sumber oleh sumber maklumat berjalan (gdb) dalam GDB. Tentukan laluan direktori yang betul menggunakan (gdb) tetapkan laluan pengganti atau alihkan kod sumber ke lokasi yang dijangkakan.

Atas ialah kandungan terperinci Mengapakah GDB melemparkan ralat tentang fail raise.c yang hilang walaupun saya mendapat pengecualian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn