GDB vs Ghidra Static vs Dynamic Analysis GDB (Dynamic) Live analysis Program is running on real hardware Capabilities Set breakpoints Read/write memory Modify registers Step instructions Watch values change Best For Live modification Runtime behavior Testing exploits Verifying attacks Needs running target Ghidra (Static) Offline analysis Just the binary file No hardware needed Capabilities Disassembly view Decompile to C Find functions Cross-references String search Best For Planning attacks Understanding code Finding targets Mapping functions Works with just ELF