Synopsis |
In many cases, debugging a program does not involve using a full-fledged debugger - tools such as process monitor can often be successfully used to pinpoint and resolve problems. In some cases, however, a debugger is mandatory. These cases are the ones we cover in this course. This course is designed for experienced developers wishing to understand the internals of their programs - and what *really* happens after the program is compiled. Going back to basics (assembly) the course focuses on the lowest level of program operations, at the primitive level of the CPU, cache lines and registers. It then focuses on the Microsoft Windows Debugger, WinDBG, demonstrating powerful techniques to trace through and bypass program logic.
|
||||||||||||||||||||||||||||||||||||||||||
Target Audience | Windows C and C++ developers who wish to obtain insights into using the Windows Debugging Tools. Reverse-Engineering enthusiasts will also find this course highly useful. | ||||||||||||||||||||||||||||||||||||||||||
Prerequisites |
|
||||||||||||||||||||||||||||||||||||||||||
Objectives |
|
||||||||||||||||||||||||||||||||||||||||||
Exercises | The course is a debugging workshop - specifically, this means that it is mostly hands on, with theory taking up about 40% of the allotted time, with the rest of the time having the participants poring over crash damps, figuring out "who-dun-it" - what caused the crash, and how to fix the bug. | ||||||||||||||||||||||||||||||||||||||||||
|