首页
社区
课程
招聘
[求助][原创]硬件和软件断点的一个疑惑的问题!
发表于: 2009-6-30 08:54 4217

[求助][原创]硬件和软件断点的一个疑惑的问题!

2009-6-30 08:54
4217
我使用向量异常处理器来处理硬件断点,在设置硬件断点后,程序运行到断点处断下,这是时候向量异常处理器被调用,向量异常处理器被调用所在线程是产生硬件断点的线程吗?如果是,那么这个线程在断点产生时的堆栈下面的部分应该是被覆盖了的,怎么OD还能正常显示被断下的线程堆栈呢?因为我想不管怎么样,断点产生时总要在断点产生的线程调用一个处理程序来处理线程,那么总有一部分堆栈要被破坏,可是OD给我的感觉却是堆栈没有受到任何影响

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 952
活跃值: (1966)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
向量异常处理例程里面有个结构可以获取原始的寄存器的
2009-6-30 11:26
0
雪    币: 268
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我知道,我想得到断点被断下时的堆栈信息,比如下面的代码
char buf[10];
f1(buf)
buf[5]=0
f1填充一个字符串给局部变量buf,我现在在buf[5]=0上下一个断点,想得到buf中的内容,先要得到buf的地址,buf的地址在f1调用时被压入堆栈,当执行到buf[4]=0时,这个地址刚好在[esp-4]中,不过因为向量例外处理器也要利用这个堆栈,所以[esp-4]的内容已经被覆盖了,我的意思是怎么才能得到[esp-4]中的内容呢?
2009-7-1 03:53
0
游客
登录 | 注册 方可回帖
返回
//