Se eseguo un programma C/C++ in gdb (dopo aver compilato con il flag -g) ed esamino gli indirizzi di determinate variabili, argomenti ... ecc. E quindi lo eseguo all'esterno di gdb (usando ./
) questi gli indirizzi sono gli stessi di quelli che ho visto in gdb? Se sono diversi sono di solito simili o saranno drasticamente diversi?Differenza tra indirizzi gdb e indirizzi "reali"?
Chiedo questo perché ho un programma di buffer overflow che funziona perfettamente in gdb (con e senza punti di interruzione), tuttavia quando provo ad eseguirlo al di fuori di gdb non funziona.
Per quanto riguarda l'overflow del buffer, vi consiglio di provare valgrind. – Troubadour
Forza il programma al core dump con "ulimit -c unlimited", quindi esamina il file core con gdb. – strkol