Bagaimana saya bisa mencegah buffer gdb * input / output * muncul secara agresif dalam bingkai?


8

Saat menggunakan gdb dengan M-x gdb, *input/output*buffer selalu muncul secara agresif di setiap frame yang memiliki fokus dan belum menampilkannya. Saya ingin *input/output*buffer tetap diam di latar belakang kecuali jika saya membawanya secara manual.

Berikut adalah contoh yang sangat sederhana emacs -Q

lari M-x gdb. berikan program bashdan tekanReturn

di *gud-bash*jendela, masukrun -c "while true; do echo hi && sleep 1; done"

Perhatikan bagaimana *input/output of bash*jendela muncul. Jika Anda mengabaikan buffer itu C-x 1dari *gud-bash*jendela, ia akan kembali segera setelah gdb menghasilkan stdout lagi. Itulah perilaku yang tidak saya inginkan.

Secara khusus, sekarang jalankan M-x make-frame(dari *gud-bash*jendela). Perhatikan bagaimana dalam bingkai baru, *input/output of bash*juga muncul! Jadi itu menuntut satu jendela dari setiap frame emacs tunggal.

Bagaimana saya bisa memperbaikinya?

Sunting: Saya hampir lupa menambahkan - versi emacs

GNU Emacs 24.5.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.30)

Jawaban:


6

Segera setelah emacs 25 mendarat, akan ada variabel gdb-display-io-nopopupuntuk memperbaiki masalah ini


Terima kasih terima kasih terima kasih! Ini telah menjengkelkan bagi saya selama bertahun-tahun! Ini menyelesaikan masalah saya.
Pablo Halpern

-1

pisahkan jendela emacs menjadi tiga (cx 3), dan tetapkan satu jendela ke buffer input / output (cx b, input / output )

Menghentikan popup, dan output program ditampilkan di jendela buffer " input / output "


Jelaskan apa yang Anda maksud dengan "layar", dan dengan "tetapkan". Juga saya tidak yakin itu mengatasi masalah yang memaksa kode debugger Anda untuk memiliki buffer input / output ditampilkan di jendela di setiap frame.
Stefan

split emacs windows: (cx n), tetapkan buffer ke jendela (cx b)
Paul Salber
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.