cheque CLI cordura
Antes de hacer nada, asegúrese de que:
Esta respuesta supone que usted puede hacer en la tarjeta de desarrollo:
sudo apt-get install gdbserver
gdbserver :1234 path/to/executable
Y en el host:
aarch64-linux-gnu-gdb \
-ex "target remote board-hostname:1234" \
-ex "file path/to/cross/compiled/executable" \
-ex 'tb main' \
-ex c
y luego paso depurar todo correctamente.
configuración Eclipse
Probado en Ubuntu 16.04 anfitrión, Eclipse 4.7.0 Oxígeno (descargado del sitio), 7,12 gdbserver
, aarch64-linux-gnu-gdb
7.6.
he utilizado con éxito todos los métodos siguientes:
- manual de
- automática
- contraseña de autenticación
- clave pública de autenticación
Manual
Con este método, debemos ejecutar gdbserver
en el destino antes de ejecutar la depuración en Eclipse.
Pro: dispensa la configuración de conexiones SSH a través de Eclipse para permitir que Eclipse ejecute gdbserver
, que es otro posible punto de falla.
contra: hay que relanzar gdbserver
cada vez que se inicia la depuración. Esto podría ser superado si Eclipse entendió gdbserver --multi
, pero no creo que sí?
Debido a su simplicidad, recomiendo que se obtiene de este método de trabajo en primer lugar.
Abrir las configuraciones de depuración, a continuación, crear un nuevo "C/C++ de aplicaciones remotas".
En la pestaña "Principal":
seleccione el "Proyecto" "Nombre" y "C/Aplicación C++" como de costumbre para una depuración local de
en el lanzador inferior, haga clic en "Seleccionar otro", marque "Usar configuraciones específicas de configuración" y elija "GDB (DSF) Manual Remoto Depurador de depuración"
Por qué hacemos esto: el iniciador automático primero se conecta al tablero con SSH y lanza el gdbserver
para usted .

En la pestaña "depurador":
"BGF depurador": lo mismo que se utiliza desde la CLI en el host, aarch64-linux-gnu-gdb
para este ejemplo
Sub- pestaña "Conexión": configure el nombre de host y el puerto como se pasaron al host en la CLI (board-hostname
y 1234
)


Por último, poner en marcha manualmente gdbserver
en el objetivo tal como lo hicimos desde la CLI:
gdbserver :1234 path/to/executable
e iniciar el depurador de Eclipse normalmente.
Debe reiniciar gdbserver
cada vez que finaliza el programa.
automática con la contraseña de autenticación
Este es el mejor método para tarjetas de desarrollo, que han fijado las contraseñas conocidas públicamente.
Se conecta al objetivo con SSH y una contraseña, y ejecuta gdbserver
en el destino automáticamente cada vez, ¡lo cual es muy conveniente!
Objetivo gdbserver
stdout va a la ventana "Consola" de Eclipse, lo que reduce aún más el cambio de ventana.
En Eclipse Set:
automática con clave pública
Muy similar a la autenticación de contraseña, excepto que debe ir a: "Conexión", "Nuevo", y seleccione "autenticación basada en clave pública"
Pros:
- vence al "almacenamiento seguro no pudo guardar la contraseña maestra" si tiene una clave privada sin cifrar (no seguro, pero está bien para devboards)
- para los servidores, es probable que ya ha configurado los públicos clave
Contras:
- clave de configuración puede doler la primera vez
- debe rehacer clave de configuración cada vez que devboard es bombardeado
por lo Preferiría este método para servidores.
SSH puede conectarse sin una contraseña si:
Antes de utilizar este método, asegúrese de que su Autorizar llaves d trabajar desde la línea de comandos, es decir, ahora debería ser capaz de hacer:
ssh [email protected]
sin necesidad de introducir ninguna contraseña.
¿Nadie ???????? – newprint
Posible duplicado de [Depuración remota de aplicaciones C++ con Eclipse CDT/RSE/RDT] (https://stackoverflow.com/questions/15685104/remote-debugging-c-applications-with-eclipse-cdt-rse-rdt) –