windbg 初始断点
程序员文章站
2022-07-15 14:20:48
...
1.什么是初始断点?
当调试进程的时候,为了让调试人员尽早的分析目标调试程序,windows操作系统的进程加载器加入了特别的调试支持:
在完成最基本的用户态初始化之后,系统的初始化函数就会主动执行断点指令,触发断点,让调试目标中断到调试器中。
这个断点被称为初始断点。
2.Windbg初始断点触发
为了给我们提供更好的调试机会,所以windbug在调试的时候首先会触发初始断点。
file=>Open Executeable
此时触发了INT 3断点,我们可以查看模块加载信息,和调用堆栈,预设断点等操作。然后执行g命令,运行程序。
此时断点已经触发。
3.如果32位程序在64位机器上运行会怎么样?
依然会产生中断3,但是child-sp = 0x00000000,程序模块并没有完全加载。此时执行g
发现windbg进行了wow切换,然后才进入初始断点。
所以32位程序在64位程序上运行加载的时候需要进行一步wow切换。