Saya mencoba untuk mengotomatiskan sesi gdb menggunakan --command
bendera. Saya mencoba untuk mengatur breakpoint pada fungsi di perpustakaan bersama (setara Unix dari DLL). Cmds.gdb saya terlihat seperti ini:
set args /home/shlomi/conf/bugs/kde/font-break.txt
b IA__FcFontMatch
r
Namun, saya mendapatkan yang berikut:
shlomi: ~ / progs / bugs-external / kde / font-breaking $ gdb --command = cmds.gdb ... GNU gdb 6.8-2mdv2009.0 (rilis Mandriva Linux 2009.0) Hak Cipta (C) 2008 Free Software Foundation, Inc. Lisensi GPLv3 +: GNU GPL versi 3 atau yang lebih baru Ini adalah perangkat lunak gratis: Anda bebas mengubah dan mendistribusikannya kembali. TIDAK ADA JAMINAN, sejauh diizinkan oleh undang-undang. Ketik "tampilkan penyalinan" dan "tampilkan garansi" untuk detailnya. GDB ini telah dikonfigurasi sebagai "i586-mandriva-linux-gnu" ... (tidak ditemukan simbol debugging) Fungsi "IA__FcFontMatch" tidak ditentukan. Jadikan breakpoint tertunda pada pemuatan perpustakaan bersama di masa mendatang? (y atau [n]) [menjawab N; masukan bukan dari terminal]
Jadi itu tidak mengatur breakpoint. Bagaimana saya bisa membuat default untuk menjawab "y" untuk mengatur breakpoints menunggu pemuatan perpustakaan bersama di masa mendatang?
Saya ingat bahwa saya dapat melakukan sesuatu, tetapi tidak dapat mengingat apa.
Jawaban:
Membalas diri saya sendiri, saya ingin memberikan jawaban yang diberikan seseorang kepada saya di IRC:
Jadi set breakpoint tertunda melakukan triknya; itu digunakan
cmds.gdb
seperti misalnyasumber
Program received signal SIGILL, Illegal instruction
. Saya mencari breakpoints dari sebuah file dan saya memilikinyaset breakpoint pending on
karena beberapa breakpoint saya ada di perpustakaan yang dimuat program. Jika saya menambahkan breakpoint secara manual, maka tidak ada kesalahan. Adakah orang lain yang menghadapi masalah serupa?OT: Di terminal akan terlihat seperti ini untuk men-debug Caja dalam satu baris:
sumber
-ex
tidak berhasil untuk saya. Saya harus meletakkan perintah dalam file tmp dan menelepon dengan:gdb -x /tmp/gdb.commands myexecutible
Tanpa simbol.
sumber