He estado usando gdb normalmente para 1 o 2 proyectos. Es decir. Invoco gdb --args prog args
. gdb se ejecuta en el mismo tty que el programa que estoy depurando.espere a que se conecte gdb
Sin embargo, mi último proyecto está modificando la utilidad dtach. Este es un programa como la pantalla, por lo que los tty se redirigen a otro lugar, por lo tanto, tengo que usar la funcionalidad de adjuntar de gdb.
El problema con gdb attach es que, obviamente, no se puede conectar desde el principio, ya que es necesario ejecutar el programa primero para obtener un pid para adjuntarlo.
¿Hay alguna forma en que pueda hacer que un programa espere en un punto hasta que se adjunte gdb?
No puedo usar gdbserver porque estoy en cygwin. También traté de usar pause()
, pero eso se colgó cuando traté de continuar.
Mi mal, el mensaje en la lista de correo quejándose de que gdbserver no funciona en cygwin fue desde hace 9 años. Compilado anoche y funciona bien. Por alguna razón, el binario gdbserver no está incluido en el repositorio cygwin, probablemente debido a los casos de uso restringido para él en cygwin. También hay una forma potencial de conectar gdb en el programa desde el principio utilizando el resguardo de gdb. Gracias por las respuestas de todos modos. – rhlee