2.4 KiB
Anotações GDB
-
Compilar um programa com a flag
-O0
desabilita que o compilador realize otimizações no código, enquanto-g
faz com que este programa armazene seu código fonte, permitindo-o ser debugado em sua execução. -
Para se debugar um programa, chama-se este com o comando
gdb
no terminal. -
run
, our
, roda o programa.r < file.txt
passa um arquivo como argumento para a execução. -
layout next
muda a forma de exibição da interface. -
refresh
atualiza a interface. -
next
, oun
, avança o programa em uma linha de comando no escopo atual. -
print
, ou apenasp
, pode ser utilizado para realizar calculos aritméticos com o valor de variáveis. -
print var
apresenta o valor da variável var. -
print vector@x
apresenta os primeirosx
valores de um vetorvector
. -
print *vector@x
apresenta os valores apontados por um vetor de ponteirosvector
. -
print *matrix@x@y
apresenta os valores apontados por uma matrizmatrix
de tamanhox,y
. -
step
avança o programa em uma linha de comando no escopo global, entrando em funções, etc. -
break x
coloca um ponto de interrupção da execução na linhax
. -
break function
coloca um ponto de interrupção da execução no início de uma funçãofunction
. -
info break
lista todos os pontos de interrupção; -
del x
apaga o breakpoint de númerox
, tal qual descrito porinfo break
. -
clear function
retira os pontos de interrupção colocados na funçãofunction
. -
display i
para cada comando seguinte, mostrar o valor dei
.undisplay n
cessa este comportamento para a variável de índicen
. -
watch [expressão]
(watchpoint) interrompe a execução do programa toda vez que o valor de uma expressão se altera. -
whatis i
, ouwhat i
, mostra o tipo da variáveli
. -
backtrace
(bt
) no caso de um Segmentation Fault, aponta-se a linha em que este ocorreu e os valores das variáveis à este ponto. -
finish
executa a função atual e interrompe a execução quando esta termina, indicando onde no código esta retorna e com qual valor. -
quit
sai do debugger.
Comandos avançados
-
target record-full
grava a execução e permite voltar para passos anteriores comreverse-next
,reverse-step
,reverse-continue
(rn
,rs
). -
set var i = x
altera o valor da variáveli
parax
e permite a continuidade da execução do código.