Visite também: UnderLinux ·  Dicas-L ·  SoftwareLivre.org ·  [mais] ·  Currículo ·  Efetividade ·  Arduino

Embarcados: Compilando o gdb e o gdbserver para depuração cruzada

Enviado por Sergio Prado (sergio·pradoΘe-labworks·com):

“Não são raras as situações onde precisamos depurar remotamente alguma aplicação rodando em um dispositivo com Linux embarcado. E o processo de depuração remoto envolve a presença de um servidor GDB no target e um cliente GDB no host.

A comunicação entre o gdb (client) e o gdbserver pode ser feita pela porta serial ou por uma conexão de rede, e existe um protocolo bem definido entre eles.

O único problema é que, conforme o GDB evolui, seu protocolo também é alterado, o que costuma causar incompatibilidade de versões (determinada versão do cliente pode não ser compatível com uma versão diferente de servidor). Eu particularmente já passei diversas vezes por esta situação, onde alguns comandos enviados por determinada versão do cliente não eram reconhecidos por uma versão diferente do servidor.

Para resolver este problema, a melhor forma é utilizar a mesma versão de cliente e servidor GDB. Para isso, você pode compilar sua própria versão do GDB. E o processo é bem simples.” [referência: sergioprado.org]

Comentar

 
comments powered by Disqus

Comentários arquivados