IUCompilerCourse / Essentials-of-Compilation

A book about compiling Racket and Python to x86-64 assembly
1.28k stars 140 forks source link

Mention reverse-engineering tools for analyzing generated x86 assembly #123

Open arsdragonfly opened 2 years ago

arsdragonfly commented 2 years ago

Reverse-engineering tools like cutter/iaito are perfect for analyzing/debugging x86 code, with powerful features like trace sessions that allows debugging both forwards and backwards. Readers/students/TAs will be greatly empowered by such tools and have a much easier time debugging compiler output compared to dealing with GDB directly. An example of tracing, continuing to a breakpoint, then stepping backwards: 2022-01-24 01-11-48屏幕截图

ksromanov commented 2 years ago

May be it would be better to have an optional dump of the test program at every stage, after every pass?