Разница между адресами GDB и «реальными» адресами?

Если я запускаю программу на C / C ++ в gdb (после компиляции с флагом -g) и проверяю адреса определенных переменных, аргументов ... и т. Д., А затем запускаю ее вне gdb (используя./) будут ли эти адреса такими же, как те, что я видел в gdb? Если они разные, они обычно одинаковы или будут сильно отличаться?

Я спрашиваю об этом, потому что у меня есть программа переполнения буфера, которая прекрасно работает в gdb (с точками останова и без), однако, когда я пытаюсь запустить ее вне gdb, она не работает.

Ответы на вопрос(3)

Ваш ответ на вопрос