windbg 初始断点

1.什么是初始断点?
当调试进程的时候,为了让调试人员尽早的分析目标调试程序,windows操作系统的进程加载器加入了特别的调试支持:
在完成最基本的用户态初始化之后,系统的初始化函数就会主动执行断点指令,触发断点,让调试目标中断到调试器中。
这个断点被称为初始断点。
2.Windbg初始断点触发

为了给我们提供更好的调试机会,所以windbug在调试的时候首先会触发初始断点。
file=>Open Executeable
在这里插入图片描述
此时触发了INT 3断点,我们可以查看模块加载信息,和调用堆栈,预设断点等操作。然后执行g命令,运行程序。
在这里插入图片描述
此时断点已经触发。

3.如果32位程序在64位机器上运行会怎么样?

在这里插入图片描述
依然会产生中断3,但是child-sp = 0x00000000,程序模块并没有完全加载。此时执行g
在这里插入图片描述
发现windbg进行了wow切换,然后才进入初始断点。

所以32位程序在64位程序上运行加载的时候需要进行一步wow切换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值