Material complementar do curso C orientado a testes: Do básico ao avançado. Disponível no Youtube.
Este curso utiliza o Unity framework de testes unitários em C e o depurador GDB (GNU debugger).
✅ Documentação oficial do GDB (GNU debugger):
✅ Documentação oficial do Unity (framework de testes em c):
Este material de apoio está em manutenção, alguns recursos ainda não estão disponíveis.
- #0 - Como realizar teste unitário com o Unity
- #1 - Testes unitários de float e ignorar testes específicos
- #2 - Teste unitários com strings e mensagens de erro do unity
- #3 - Como fazer arquivo Makefile para automatizar testes unitários do unity
- #4 - O que é Test Driven Development (TDD - Desenvolvimento orientado a testes)
- #5 - Exemplo função para calcular a hipotenusa (Parte 1)
- #6 - Exemplo função para calcular a hipotenusa (Parte 2)
- #7 - O que é refatoração? Refatoração da função hipotenusa
- #8 - Implementação de uma estrutura de dados do tipo Pilha com TDD
- #9 - Função init (inicialização da Pilha)
- #10 - Função empty (verificar se a Pilha está vazia)
- #11 - Função push (empilhar elemento na Pilha)
- #12 - Função Top (verificar elemento no topo da Pilha)
- #13 - Função Pop (remover elemento do topo da pilha, desempilhar)
- #14 - Função Print (exibir elementos da pilha no terminal)
- #15 - Como utilizar cores no terminal, em saídas de programas em C e no Unity
- #16 - Variáveis booleanas e implementação da interface stdbool em c
- #17 - Como fazer depuração (Debug) do código: Matriz simétrica (Parte 1)
- #18 - Como fazer depuração (Debug) do código: Matriz simétrica (Parte 2)
- #19 - Como fazer depuração (Debug) do código: Matriz simétrica (Parte 3)
- #20 - Como fazer depuração (Debug) do código: Matriz simétrica (Parte 4)
- #21 - Como fazer depuração (Debug) do código: Matriz simétrica (Parte 5)
- #22 - Como funcionam o pré processamento e as macros em C
- #23 - Refatoração do código da matriz simétrica (Parte 1)
- #24 - Refatoração do código da matriz simétrica (Parte 2)
- #25 - Refatoração do código da matriz simétrica (Parte 3)
- #26 - Refatoração do código da matriz simétrica (Parte 4)
- #27 - As macros assert e NDEBUG da biblioteca assert.h
- #28 - Como depurar um programa em C de maneira profissional? O depurador GDB
- #29 - Comandos básicos do GDB: run, start, next, print e break
- #30 - Depurar um programa passo a passo com breakpoints do GDB
- #31 - Depuração de funções de bibliotecas em C com o comando step do GDB
- #32 - Exercício de depuração com o GDB
- #33 - O modo de depuração Text User Interface (TUI) do GDB
- #34 - Exibir o código fonte no terminal do GDB
- #35 - Monitorar variáveis no GDB com o comando display
- #36 - Monitorando a pilha e os frames no GDB
- #37 - Chamar funções, executar comandos do Shell e Makefiles no GDB
- #38 - Depuração automatizada com GDB scripts
- #39 - Gerar arquivos de logging no GDB
- #40 - Como corrigir erros de segmentação e monitorar ponteiros no GDB
- #41 - Exercícios sobre Estrutura de dados Pilha
- #42 - Exercício conversor de decimal em binário utilizando pilhas (Parte 1)
- #43 - Exercício conversor de decimal em binário utilizando pilhas (Parte 2)
- #44 - Exercício sistema de entrega de pizzas utilizando pilhas (Parte 1)
- #45 - Exercício sistema de entrega de pizzas utilizando pilhas (Parte 2)
- #46 - Exercício sistema de entrega de pizzas utilizando pilhas (Parte 3)
- #47 - Exercício sistema de entrega de pizzas utilizando pilhas (Parte 4)
- #48 - Como enviar e tratar sinais e processos no Linux com C (Parte 1)
- #49 - Como enviar e tratar sinais e processos no Linux com C (Parte 2)
- #50 - Automatizar envio de sinais ao processo com um programa de monitoramento
- #51 - Como implementar uma estrutura de dados fila em C, função criar fila
- #52 - Implementar uma estrutura de dados fila em C, função inserir (Parte 1)
- #53 - Implementar uma estrutura de dados fila em C, função inserir (Parte 2)
- #54 - Implementar uma estrutura de dados fila em C, função listar
- #55 - Implementar uma estrutura de dados fila em C, função apagar
- #56 - Implementar os testes da estrutura de dados fila (Parte 1)
- #57 - Implementar os testes da estrutura de dados fila (Parte 2)
- #58 - Como fazer a depuração de vetores no GDB? Alocação estática e dinâmica
- #59 - Criar uma função de alocação dinâmica personalizada em c (Parte 1)
- #60 - Criar uma função de alocação dinâmica personalizada em c (Parte 2)
- #61 - Função de alocação dinâmica personalizada de strings em c
- #62 - Alocação dinâmica de vetores de structs em C
- #63 - Inicialização de vetores de structs em C
- #64 - Utilizando variáveis durante a depuração com GDB
- #65 - Como testar ponteiros em linguagem C utilizando o Unity
- #66 - Como testar arrays em linguagem C utilizando o Unity
- #67 - Como testar vetores de structs em linguagem C utilizando o Unity
- #68 - Criar um separador de strings em C na forma chave=valor (Parte 1)
- #69 - Criar um separador de strings em C na forma chave=valor (Parte 2)
- #70 - Como criar bibliotecas estáticas e dinâmicas em C (Parte 1)
- #71 - Como criar bibliotecas estáticas e dinâmicas em C (Parte 2)
- #72 - Oque são as chamadas de sistema (syscalls) no Linux? Como criar processos
- #73 - Criar processos no Linux, a chamada de sistema fork
- #74 - As chamadas de sistema wait e exec no Linux
- #75 - Como rodar um comando ou script do shell em um programa em C
- #76 - A função system e a chamada de sistema waitpid
- #77 - Como obter o valor de uma variável de ambiente do shell em C
- #78 - Como implementar um daemon em C: Introdução e estrutura das aulas
- #79 - Oque é um Daemon e como funciona a técnica fork and die?
- #80 - Implementação de um Daemon em C e utilização da syslog
- #81 - Configurar o Daemon e o script de serviço para o init
- #82 - Implementação da função daemonize e da técnica fork and die (Parte 1)
- #83 - Implementação da função daemonize e da técnica fork and die (Parte 2)
- #84 - Implementação da função daemonize e da técnica fork and die (Parte 3)