I created a simple C program and every time I load it in GDB, I see the same memory addresses allocated to the instructions of the program. For example, a function
what() always loads at memory location 0x000055555555472d. In fact the stack is exactly the same for each execution(Not just the content of stack but the memory address which rsp points to.
I understand that ASLR can be disabled in Linux by setting "/proc/sys/kernel/randomize_va_space" to 0 but my Debian system has value 2 in it.
root@Sierra ~ % cat /proc/sys/kernel/randomize_va_space 2
According to my understanding of ASLR, these addresses should be randomized at each run. My question is why is this happening? Did I get something wrong?