Preciso de alguns esclarecimentos sobre como o GDB funciona no ambiente IDE na nuvem9
Existem dois tipos diferentes de depuradores que o IDE ambiente?
-
Depurador, por meio da entrada do comando
debug
que analisa a compilação / verifica as entradas passo a passo? (para arquivo de origem) -
GDB, que verifica o programa executável?
Além disso, como você passa argumentos para GDB? Não consigo entender isso.
Estou olhando para pset4 e quero executar GDB na “cópia” executável e passar um nome de arquivo de entrada e saída
como eu faria isso no terminal
EDITAR
também meu o depurador também está sempre quebrado
Resposta
Para executar GDB com argumentos no terminal, use o parâmetro –args.
gdb --args name arg1 arg2 arg3
debug50 (o depurador gráfico) é apenas GDB com uma GUI. GDB foi originalmente projetado para ser executado através do terminal, e ainda é. É muito mais flexível do que qualquer depurador gráfico.
- Aqui está um guia de referência completo para GDB: https://sourceware.org/gdb/current/onlinedocs/gdb/
- E aqui “uma folha de dicas que encontrei: https://cs.brown.edu/courses/cs033/docs/guides/gdb.pdf
No entanto, aqui estão alguns princípios básicos:
- Depuração passo a passo:
next (or n)
-
A definição de um ponto de interrupção é feita com
break (or b) [function or line number]
, por exemplo:break main
oubreak 20
onde “20” é a linha a quebrar. -
Execute o programa com
run (or r)
. -
Use
continue or c
para pular para o próximo ponto de interrupção. -
Para imprimir uma variável dentro do GDB (sem usar
printf()
), digiteprint varname
.
Alternativamente, agora que você conhece alguns comandos, você pode executar seu programa com alguns argumentos com [r]un arg1 arg2 arg3
.
Quanto ao seu problemas com o debug50, lamento dizer que o predecessor do debug50 foi quebrado e parece que o debug50 também está quebrado. Nunca consegui consertar, pelo menos.
Comentários
- obrigado pela resposta muito detalhada !. Outra questão também, o GDB está pré-instalado em alguns ambientes Linux Bash e talvez no prompt de comando do Windows?
- O GDB vem pré-instalado em todas as distribuições Linux até onde eu sei, e certamente nas mais populares (arch, debian, ubuntu , etc.). Para obtê-lo no Windows, pode ser necessário usar Cygwin ou MinGW (coleções de ferramentas e coisas do Linux / GNU / POSIX), eu não ' não sei se o " download " oficial na página de download do GDB gnu.org/software/gdb realmente suporta windows, eu não ' tentei.