欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windbg 初始断点

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

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

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

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

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

相关标签: windbg 初始断点

上一篇: 堆栈

下一篇: 堆栈