Neste artigo pretende-se dar ao iniciado na programação (e não só) uma ideia de como depurar os seus programas, seja com recurso à própria linguagem, introduzindo no programa código que permita despistar erros, seja com recurso a programas externos, neste caso o gdb.
É minha opinião que todos os iniciados na programação devem experimentar mover a sua aprendizagem para um sistema *nix (no meu caso, utilizo Linux), e assim sendo, este artigo assume que o leitor tem acesso a um sistema semelhante, embora isso não seja de todo um pré-requisito (o gdb também está disponível para Windows). Sendo a linguagem C bastante importante no currículo do programador e ubíqua no mundo da computação (especialmente no dos iniciados), este artigo foca-se na depuração de software escrito nessa linguagem e na utilização do gdb, um debugger poderoso e muito utilizado, disponível para imensas plataformas.
Todo o código apresentado neste artigo foi compilado com o gcc versão 4.6.3 e as sessões de debug foram levadas a cabo com o gdb versão 7.5.1 num sistema com Linux instalado (kernel 3.8.13, embora isto não seja muito importante). Os (pequenos) programas apresentados são compilados com as seguintes flags:
-Wall -Wextra -std=c99 -pedantic -O0 -ggdb3