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