Aula 8 - Debugando remotamente uma aplicação
Instalando Dependências
Caso tenha gerado a imagem no buildroot, ele fornece a instalação desses ferramentas ao marca-las.
Para a placa de desenvolvimento:
- sudo apt-get update
- sudo apt-get install gdbserver
- sudo apt-get install ssh
Para o Ambiente de desenvolvimento (Eclipse):
- C/C++ DFS GDB Debugger Integration
- C/C++ Remote Launch
- Remote System Explorer End-User Runtime
- Remote System Explorer User Actions
Preparando a Conexão
Descubra o endereço da placa de desenvolvimento:
Caso esteja debugando uma aplicação em uma rede local, você pode configurar um ip estático para a placa de desenvolvimento e em /etc/host do ambiente de desenvolvimento, adicionar o ip dessa placa e um nome para lincagem.
O /etc/host é responsável por lincar endereços locais e nomes de computadores
Adicione o ip da placa de desenvolvimento e um nome para referência:
No ambiente de desenvolvimento:
Configurando Eclipse
No Eclipse, com seu projeto aberto, execute Windows -> Open Perspective ->Other e selecione Remoter System Explorer
Em File ->Nem -> Other, expanda o Remote System Explorer e selecione Connection.
Clique em Next e selecione Linux.
Clique em Next, Em Host Name forneça o endereço de ip da placa de desenvonvimento e em Connection name um nome para a conexão.
Clique Next, em Configuration selecione ssh.files.
Clique Next, selecione processes.shell.Linux.
Clique Next, selecione ssh.shells
Clique Next, selecione ssh.terminals e clique Finish.
Em Remote Systems, clique com o botão direito em cima do nome da conexão e selecione propriedades.
Você pode mudar algumas configurações da conexão. Em Default User ID você tem a optção de fazer com que a aplicação execute como root, atribuindo a seu campo root, clique OK.
Criando .gdbinit
No ambiente de desenvolvimento, entre na pasta do projeto pelo terminal.
Crie um arquivo vazio.
No Eclipse, selecione Run -> Debug Configurations.
Na aba C/C++ Remote Application, selecione a sua configuração criada.
Na aba Main, em Connection, selecione sua conexão criada.
Em Project, selecione o nome de seu projeto.
Em Build Configuration, selecione Use Active, assim poderá utilizar a configuração criada anteriormente.
Em Remote Absolute File Path Fot C/C++ Application, escolha o diretório e o arquivo que você deseja fazer o upload do arquivo executável na placa de desenvolvimento.
Em Commands to execute before applications, você do atribuir comandos antes do arquivo executável ser iniciado, por motivo de permição de usuário, é recomendado executar o chmod por prevenção.
- comando /ditorio_aplicacao/arquivo_executavel
Selecione a aba Debugger, no campo GDB debugger especifique o cliente gdb. Talvez tenha que fazer uma mudança de porta para o debugger.
Clique Apply.
As configurações essenciais terminaram, o projeto pode ser debugado remotamente.