Reinicie la ejecución desde el principio sin tener que volver a cargar

2

Estoy usando GDB para cargar y depurar mi ejecutable. En este momento, cada vez que quiero ejecutar mi programa primero debo load it y luego continue it para iniciar la ejecución.

Aparentemente, el comando run comienza a ejecutarse desde el principio, pero cuando intento run , aparece el error:

The "remote" target does not support "run".  Try "help target" or "continue".

Mi tablero es un STM32F2. ¿Hay alguna manera de iniciar fácilmente la ejecución desde el inicio del ejecutable sin tener que volver a cargar la maldita cosa en la memoria?

EDIT : he probado la sugerencia de Leo, pero cuando hago run , aparece el siguiente error:

(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) [answered Y; input not from terminal]
../../gdb-7.2/gdb/thread.c:79: internal-error: inferior_thread: Assertion 'tp' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Quit this debugging session? (y or n) [answered Y; input not from terminal]
../../gdb-7.2/gdb/thread.c:79: internal-error: inferior_thread: Assertion 'tp' failed.
A problem internal to GDB has been detected,
further debugging may prove unreliable.
Create a core file of GDB? (y or n) [answered Y; input not from terminal]

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
    
pregunta Randomblue

2 respuestas

0

Echa un vistazo a enlace que a su vez enlaza a enlace

Por lo que entiendo, debes usar target extended-remote en lugar de target remote .

    
respondido por el Leo
1

Procedimiento paso a paso

Remoto:

# pwd contains cross-compiled ./myexec
gdbserver --multi :1234

Local:

# pwd also contains the same cross-compiled ./myexec
gdb -ex 'target extended-remote 192.168.0.1:1234' \
    -ex 'set remote exec-file ./myexec' \
    --args ./myexec arg1
(gdb) r
[Inferior 1 (process 1234) exited normally]
(gdb) r
[Inferior 1 (process 1235) exited normally]
(gdb) monitor exit

Stdout se muestra en el control remoto.

Probado en Ubuntu 14.04.

Relacionado: enlace

    

Lea otras preguntas en las etiquetas