Program Analysis with a Debugger: GDB
Jo Van Hoey · Apress eBooks · 2019
In this chapter, we will introduce you to debugging an assembly program. Debugging is an important skill, because with a debugger you can investigate the content of registers and memory in hexadecimal, binary, or decimal representation. You already know from the previous chapter that the CPU is intensively using registers and memory, and a debugger allows you to execute the instructions step-by-step, while looking at how the content of the registers, memory, and flag changes. Maybe you have experienced already your first assembly program crashing upon execution with an unfriendly message such as “Memory Segmentation Fault.” With a debugger you can step through your program and find out exactly where and why things went wrong.