Practical Foundations of Debugging (x86)
Original lectures written during the first half of 2004 (HTML format):
- Memory, registers and simple arithmetic
- Number representations and pointers
- Bytes, words, double words and pointers to memory
- Instruction pointer and disassembling a program with pointers
- Memory and stacks
- Frame pointer and local variables (Part 1)
- Frame pointer and local variables (Part 2)
- Function parameters
- Function pointer parameters (Part 1)
- Function pointer parameters (Part 2)
- Virtual Memory, Processes and Threads (Part 1)
- Virtual Memory, Processes and Threads (Part 2)
- Arrays and structures in memory (Part 1)
- Arrays and structures in memory (Part 2)
The same lectures in PDF format:
- Memory, registers and simple arithmetic
- Number representations and pointers
- Bytes, words, double words and pointers to memory
- Instruction pointer and disassembling a program with pointers
- Memory and stacks
- Frame pointer and local variables (Part 1)
- Frame pointer and local variables (Part 2)
- Function parameters
- Function pointer parameters (Part 1)
- Function pointer parameters (Part 2)
- Virtual Memory, Processes and Threads (Part 1)
- Virtual Memory, Processes and Threads (Part 2)
- Arrays and structures in memory (Part 1)
- Arrays and structures in memory (Part 2)
Additional lecture about lvalues, rvalues and pointers:
lvalues, rvalues and pointers (HTML)
lvalues, rvalues and pointers (PDF)