Teo@Unix
22-02-2010, 21:24
Ciao,
credo sia una cosa piuttosto banale....
non ho capito una cosa riguardo a come i s.o. caricano gli eseguibili in memoria.
Il punto è:
con linux, utilizzando un debugger (gdb) osservo che gli eseguibili vengono caricati ad indirizzi sempre diversi in memoria, ovvero se chiedo a gdb di stamparmi parte dello stack con:
(gdb) x/100 $esp
...
noto che gli indirizzi sulla sinistra ogni volta sono diversi!
su windows utilizzando un'altro debugger noto che il mio eseguibile è caricato sempre agli stessi indirizzi.... come se il debugger su windows riporta gli indirizzi relativi, mente gdb gli assoluti di memoria.
sono fuori strada?
probabilmente è una baggianata, ma non ho capito:eek: ....... thanks.
credo sia una cosa piuttosto banale....
non ho capito una cosa riguardo a come i s.o. caricano gli eseguibili in memoria.
Il punto è:
con linux, utilizzando un debugger (gdb) osservo che gli eseguibili vengono caricati ad indirizzi sempre diversi in memoria, ovvero se chiedo a gdb di stamparmi parte dello stack con:
(gdb) x/100 $esp
...
noto che gli indirizzi sulla sinistra ogni volta sono diversi!
su windows utilizzando un'altro debugger noto che il mio eseguibile è caricato sempre agli stessi indirizzi.... come se il debugger su windows riporta gli indirizzi relativi, mente gdb gli assoluti di memoria.
sono fuori strada?
probabilmente è una baggianata, ma non ho capito:eek: ....... thanks.