Sto eseguendo un programma C di base utilizzando gdb. Ho un punto di rottura all'inizio di main()
. Dopo aver eseguito il codice, gdb si interrompe su main() come previsto. Ora, se esamino il registro stack pointer (RSP), sto vedendoRecupero del puntatore dello stack corrente da/proc/pid/stat
0x7fffffffe170: 0x00000000.
Quando ho recuperare le stesse informazioni utilizzando cat /proc/17232/stat | cut -d" " -f29/proc
(dove 17232 è il PID per questo processo), sto vedendo:
140737488347112 (which in hex is: 0x7fffffffdfe8).
Come mai vediamo un valore diverso del puntatore dello stack corrente da gdb. E anche, perché gdb mostra i contenuti di rsp come NULL (0x00000000)?
Grazie.
Grazie per il chiarimento. Cercherò di capire perché la memoria è mostrata come nulla nel mio test. –