atualização do conteúdo da parte 1
This commit is contained in:
parent
0511971c46
commit
62c41c0321
2 changed files with 40 additions and 18 deletions
|
@ -14,26 +14,32 @@
|
||||||
** O que é o GDB
|
** O que é o GDB
|
||||||
|
|
||||||
O GDB (/GNU Debugger/) é uma ferramenta de depuração de programas escritos em
|
O GDB (/GNU Debugger/) é uma ferramenta de depuração de programas escritos em
|
||||||
diversas linguagens. Ele possibilita a inspeção da execução de um programa
|
diversas linguagens. Ele possibilita a inspeção da execução de um programa em
|
||||||
em tempo real ou após uma falha, fornecendo recursos como:
|
tempo real ou após uma falha.
|
||||||
|
|
||||||
|
*** Principais recursos de depuração
|
||||||
|
|
||||||
- Pontos de parada (/breakpoints/);
|
- Pontos de parada (/breakpoints/);
|
||||||
- Execução passo a passo (/step-by-step/);
|
- Execução passo a passo;
|
||||||
- Visualização e modificação de variáveis;
|
- Visualização de valores e alterações em variáveis;
|
||||||
- Análise de memória e registradores;
|
- Análise de memória e registradores;
|
||||||
- Inspeção da pilha de chamadas (/backtrace/);
|
- Inspeção da pilha de chamadas (/backtrace/);
|
||||||
- Avaliação de expressões em tempo de execução;
|
- Avaliação de expressões em tempo de execução...
|
||||||
- Depuração de múltiplas /threads/;
|
|
||||||
- Depuração remota (via =gdbserver=).
|
|
||||||
|
|
||||||
Por operar em baixo nível, o GDB oferece uma visão detalhada do comportamento
|
Entre muitos outros.
|
||||||
interno do programa, sendo essencial tanto para o desenvolvimento quanto para
|
|
||||||
o diagnóstico de erros complexos (isso, sem falar de seu enorme potencial como
|
*** Operação em baixo nível
|
||||||
ferramenta de exploração no aprendizado de sistemas).
|
|
||||||
|
O GDB opera em baixo nível e, por isso, oferece uma visão bem detalhada do
|
||||||
|
comportamento interno do programa, o que o torna essencial...
|
||||||
|
|
||||||
|
- Como uma ferramenta auxiliar para desenvolvimento;
|
||||||
|
- Para diagnosticar e depurar erros mais complexos;
|
||||||
|
- Em demonstrações de conceitos no estudo de sistemas.
|
||||||
|
|
||||||
** O que é depurar (/debugar/)
|
** O que é depurar (/debugar/)
|
||||||
|
|
||||||
Depuração (ou _/debugging/_) é o processo de identificar, analisar e corrigir
|
Depuração (ou /debugging/) é o processo de identificar, analisar e corrigir
|
||||||
erros (/bugs/) em um programa ou sistema. Durante a depuração, o programador
|
erros (/bugs/) em um programa ou sistema. Durante a depuração, o programador
|
||||||
examina o comportamento do código para entender onde e por que ele não funciona
|
examina o comportamento do código para entender onde e por que ele não funciona
|
||||||
como esperado. O objetivo é encontrar a origem dos problemas e corrigi-los,
|
como esperado. O objetivo é encontrar a origem dos problemas e corrigi-los,
|
||||||
|
|
|
@ -1,14 +1,30 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int soma(int a, int b);
|
||||||
|
int fatorial(int num);
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int x = 2;
|
||||||
|
int y = 3;
|
||||||
|
|
||||||
|
int z = soma(x, y);
|
||||||
|
|
||||||
|
printf("%d + %d = %d\n", x, y, z);
|
||||||
|
printf("%d! = %d\n", z, fatorial(z));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int soma(int a, int b) {
|
int soma(int a, int b) {
|
||||||
int resultado = a + b;
|
int resultado = a + b;
|
||||||
return resultado;
|
return resultado;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int fatorial(int num) {
|
||||||
int x = 10;
|
if (num < 1) return -1;
|
||||||
int y = 20;
|
int f;
|
||||||
int z = soma(x, y);
|
for (int i = 1; i <= num; i++) {
|
||||||
printf("Resultado: %d\n", z);
|
f *= i;
|
||||||
return 0;
|
}
|
||||||
|
return f;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue