Let's write a Debugger!
Ever wondered how does the ever-famous gdb tool work? How do breakpoints work? How does single stepping work? All tools that you may use in day-to-day life, but do you actually know how they work? During this talk, we will deepdive into the numerous tools Linux exposes that you can use to check and modify the state of another running process. Of course, most of it wouldn't be possible with just Linux support, so we will also have a brief look at the available hardware support. Think debug registers and special interrupts. By the end of this talk, hopefully you will walk away with a refreshed knowledge of the interesting world of debuggers.