Interaktivní osnova
Tématické skupiny v rámci předmětu PB173 Tematicky zaměřený vývoj aplikací v jazyce C/C++
Téma 9: Ladění funkčnosti
Teoretická část
- Ladění funkčnosti
- Tracery strace, ltrace
- Systémové volání ptrace
- valgrind
Praktický úkol pro cvičení
- Nástroje k ladění
- Práce se systémovým voláním ptrace
Domácí úkol
- Napište program, který bude mít:
- Dva výpisy puts
- A mezi nimi jednu int3 instrukci
- Napište jednoduchý "debugger"
- Za pomocí ptrace, fork a exec spusťte program shora
- Počkejte si v rodiči na vykonání int3 instrukce
- Změňte ji na nop (hexa 0x90, lze opakovat)
- Ověřte pozici int3 (0xcc) pomocí ptrace a PEEKTEXT
- Zapište nop pomocí ptrace a POKETEXT
- Dekrementujte RIP, aby se instrukce nop opravdu vykonala
- Můžete ověřit pomocí instrukce ret (0xc3)
- Pokračujte s vykonáváním potomka