c# - Windows 64bit address space -
i developing 64 bit application couple of dll's.
coming win 32, default base address of loaded dll's 0x10.000.000 , moved, when conflicts arose.
john robbins wintellect recommended set dll's unique addresses, memory space use same on different runs.
he suggested in book on debugging .net 2.0 applications base addresses should guided first letter of dll's name.
a-c 0x60.000.000
d-f 0x61.000.000
g-i 0x62.000.000
j-l 0x63.000.000
m-o 0x64.000.000
p-r 0x65.000.000
s-u 0x66.000.000
v-x 0x67.000.000
y-z 0x68.000.000
i thinking has changed 64 bit. (at least addresses). has found better solution? (so address 1 run on pc, can mapped mine?
- or minidump made somewhere can loaded me.)
since move 64 bit, guess you're targeting windows vista or higher, since xp 64 bit never popular (and extended support ended).
with windows vista, address space randomization (aslr) introduced, increases security, because guessing memory locations became harder.
aslr randomize base address , enabled /dynamicbase
(msdn). thus, there no need generate or calculate base address anymore.
as said, rebasing happen in 32 bit applications already. , aslr not have impact on debugging crash dumps. debugger able resolve symbols.
Comments
Post a Comment