Bagaimana saya 'melampirkan' konsol / tampilan terminal ke output aplikasi sehingga saya dapat melihat apa yang mungkin dikatakannya?
Tentang pertanyaan ini, saya tahu itu mungkin untuk menangkap output, bahkan ketika Anda tidak meluncurkan perintah sceen sebelum meluncurkan prosesnya.
Meskipun saya tidak pernah mencobanya, saya menemukan artikel menarik yang menjelaskan cara menggunakan GDB (dan tanpa memulai ulang proses Anda).
mengarahkan-keluaran-dari-proses-yang-berjalan
Pada dasarnya:
- Periksa daftar file yang terbuka untuk proses Anda, berkat / proc / xxx / fd
- Lampirkan proses Anda dengan GDB
- Saat dijeda, tutup file yang Anda minati, panggil fungsi close () (Anda dapat melakukan fungsi apa pun dari proses Anda di GDB. Saya menduga Anda memerlukan simbol debug dalam proses Anda ..)
- Buka file baru yang memanggil fungsi create () atau open (). (Lihat di komentar di bagian akhir, Anda akan melihat orang menyarankan untuk menggunakan dup2 () untuk memastikan pegangan yang sama akan digunakan)
- Lepaskan proses dan biarkan berjalan.
Omong-omong, jika Anda menjalankan OS linux pada kotak i386, komentar berbicara tentang alat yang lebih baik untuk mengarahkan keluaran ke konsol baru: 'retty' . Jika demikian, pertimbangkan penggunaannya.