Apreendendo a utilizar o GNU Debugger (parte 2)

Neste artigo falarei de backtrace. O que é? Como usar? Pra que serve? Também explorei um pouco mais sobre breakpoints e alguns comandos para controlar o fluxo do programa em execução. Tudo isso no nosso depurador favorito, o GNU Debugger.

[ Hits: 41.193 ]

Por: Ricardo Rodrigues Lucca em 24/09/2004 | Blog: http://aventurasdeumdevop.blogspot.com.br/


Fonte



Estarei utilizando um código-fonte diferente do que utilizei no primeiro artigo. Esse programa contém uma função que será muito útil para exemplos futuros nesse artigo.

Assim, eis o fonte:

#include <stdio.h>

void bla( void )
{
        int x;

        scanf(" %d", &x);
        x += 50;
        printf("X = %d\n", x);
}

int main( void )
{
        bla();
}

Acho muito importante separar o código-fonte usado do artigo em si para não gerar confusão. Assim, se sente-se seguro em utilizar outro durante a leitura, porque não? Sinta-se a vontade!

Compile-o e prepare o gdb :)

$ gcc teste.c -g
$ gdb a.out

GNU gdb 6.1.1
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/libthread_db.so.1".

(gdb)

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Fonte
   3. Continue e finish
   4. Mais breakpoints
   5. (un)display
   6. Backtrace, indo e vindo de funções
   7. Conclusão
Outros artigos deste autor

Linux Básico - Parte II

Ponteiros void na linguagem C

Utilizando a função QSort em C

Conceitos sobre o X-Window

Uma pequena análise do Gentoo Linux

Leitura recomendada

Utilizando a biblioteca NCURSES - Parte II

Tutorial OpenGL

Túnel do Tempo: a função itoa()

Introdução à plataforma GNU de desenvolvimento

Criando programas com suporte a arquivos de configuração com a libConfuse

  
Comentários
[1] Comentário enviado por y2h4ck em 24/09/2004 - 10:30h

Como diram certos programadores, debbugar e uma arte que eu prefiro deixar a parte :D

Mas eu gosto de debbug ehehe sempre se encontra doces surpresas em cada
dissassemble :D

Maneiro o Artigo Jlluca..

abraços

[2] Comentário enviado por engos em 24/09/2004 - 13:13h

Nem da pra acreditar que foi você mesmo que fez o primeiro, esse ficou muito melhor! Nota 10!

Só uma coisa, segui seu artigo passo a passo e o "winheight" não funcionou comigo, onde digito isso e em que momento?

Ah, não achei que foi muita coisa para ser absorvida de uma única forma, até que achei o "básico", levando em consideração o assunto.

Parabéns pelo artigo!

[3] Comentário enviado por jllucca em 24/09/2004 - 13:23h

Aew, 'brigado pelos elogios y2h4ck e engos!

Sobre o "winheight" tava falando com o y2h4ck que em algumas maquinas que utilizo não achei ele(gdb 5.4). Deve ser porcausa das versões desatualizadas... Verifica se voce está com a versão 6.1.1, pois foi nessa que fiz o artigo :)

[]'s

[4] Comentário enviado por engos em 24/09/2004 - 17:20h

Infelizmente minha versão é a 5.3... :(

Mas é bom saber que atualizando tenho essa opção.

Valeu!

PS.: Não faço elogios, só falo a verdade como a vejo... :)

[5] Comentário enviado por macroney em 27/09/2004 - 14:40h

parabéns !
muito bom !!!

embora nem li tudo .......
mas vale ...

pô !, alguém conhece algum livro ou tem alguma apostila sobre Assembly , encontrei um em pt_BR , é novo, mas é muito superficial... eu acho ( embora nem programo em assembly) , Pois peguei uma apostila e me parece boa...

valeuz!

[6] Comentário enviado por wildtux em 16/01/2014 - 11:39h

Sei que o tópico é antigo. Mas mesmo assim parabéns pela iniciativa, está me ajudando muito a tirar algumas dúvidas, uso linux e gosto de usar também o cygwin.

Dica1: Pra quem ainda não se aventurou em Assembly, existem vários sites que ensinam sobre alguma coisa. Existem também alguns livros do autor Jon Erickson é só dar uma pesquisada.

Dica2: Pra quem quer debugar arquivos .exe no cygwin é só seguir o mesmo procedimento trocando o a.out pelo a.exe gerado no cygwin full.

Abraço ao jllucca, valeu cara! =D. Viva a comunidade, viva ao Linux!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts