Red Hat Training

A Red Hat training course is available for RHEL 8

8.4. Mostrando valores internos do programa com a GDB

A exibição dos valores das variáveis internas de um programa é importante para a compreensão do que o programa está fazendo. A GDB oferece comandos múltiplos que você pode usar para inspecionar as variáveis internas. Esta seção descreve o mais útil destes comandos:

p (imprimir)

Mostrar o valor do argumento apresentado. Normalmente, o argumento é o nome de uma variável de qualquer complexidade, desde um simples valor único até uma estrutura. Um argumento também pode ser uma expressão válida na linguagem atual, incluindo o uso de variáveis de programa e funções de biblioteca, ou funções definidas no programa que está sendo testado.

É possível estender o GDB com pretty-printer Python ou Guile scripts para exibição personalizada de estruturas de dados (tais como classes, estruturas) usando o comando print.

bt (backtrace)

Exibir a cadeia de chamadas de funções usadas para alcançar o ponto de execução atual, ou a cadeia de funções usadas até que a execução fosse encerrada. Isto é útil para investigar erros graves (como falhas de segmentação) com causas elusivas.

Adicionando a opção full ao comando backtrace também exibe variáveis locais.

É possível estender o GDB com frame filter scripts Python para exibição personalizada dos dados exibidos usando os comandos bt e info frame. O termo frame refere-se aos dados associados a uma única chamada de função.

info

O comando info é um comando genérico para fornecer informações sobre vários itens. Ele toma uma opção especificando o item a ser descrito.

  • O comando info args exibe opções da chamada de função que é o quadro atualmente selecionado.
  • O comando info locals exibe variáveis locais no quadro selecionado atualmente.

Para obter uma lista dos itens possíveis, execute o comando help info em uma sessão da GDB:

(gdb) informações de ajuda
l (lista)
Mostrar a linha no código fonte onde o programa parou. Este comando está disponível somente quando a execução do programa é interrompida. Embora não seja estritamente um comando para mostrar o estado interno, list ajuda o usuário a entender que mudanças no estado interno acontecerão na próxima etapa da execução do programa.

Recursos adicionais