VC2010的/DYNAMICBASE链接选项问题
来源:互联网 发布:遗传算法的基本步骤 编辑:程序博客网 时间:2024/05/01 07:59
近期偶然用Windbg给一个控制台程序的入口函数下断点,地址之际用编译出的Map文件中main函数的地址。结果Windbg报告断点未下成功,经过反复查看,包括在VC环境中调试运行,均发现main函数的地址和Map文件中地址不一样,切带有随机性。
又用VC6.0实验一遍,发现没有任何问题。看来问题是出在编译器上。
最后经过朋友指点,发现竟然是VC2010的链接属性中,/DYNAMICBASE一直开着。所以每次运行入口地址都在随机变化!关闭后,重新编译,main函数入口不再变化了,按照Map文件地址,WinDbg也顺利下断。
/DYNAMICBASE:使用 Windows Vista /Windows 7的地址空间布局随机化 ASLR(Address Space Layout Randomization) 功能,指定是否生成可在加载时随机重新设定基址的可执行文件映像。这个功能VC2010默认开启,从Visual Studio® 2005 SP1 起增加了该设置的支持。据说是为了代码安全!
详见http://technet.microsoft.com/zh-cn/magazine/cc162458.aspx
- VC2010的/DYNAMICBASE链接选项问题
- VC2010 Intermediate Directory 造成的链接问题
- MKL链接选项问题
- VC2010 多文档选项卡模式的2个应用
- VC2010 多文档选项卡模式的2个应用
- log4cpuls在vc2010上编译的问题
- OpenCV,VC2010中TCHAR的问题
- log4cpuls在vc2010上编译的问题
- log4cpuls在vc2010上编译的问题
- VC2010下Qt5的中文乱码问题
- VC2010下Qt5的中文乱码问题
- vc6代码转到vc2010遇到的问题
- VC2010下Qt5的中文乱码问题
- linux下多线程程序的链接选项问题
- ld链接器的链接选项(持续)
- hibernate 保护链接的选项
- CCS 的链接器选项
- vc2010预编译问题
- cvApproxPoly的学习
- 快速排序另一种实现
- HDU 1194 Beat the Spread!
- 进程,线程之间的关系
- Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(下)
- VC2010的/DYNAMICBASE链接选项问题
- 输出星号图03
- 数组中寻找第K小的数----位图法(bitmap)
- js实现各种排序算法
- js验证表单大全
- Json lib 抛出 NestableRuntimeException
- xml约束
- 开关机的action
- 以太网接口基础概念