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.

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 ou break 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()), digite print 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.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *