阅读:1291回复:5
softice下断点的问题
我想监视一块内存,用bpmd,看他是在什么时候被修改的,现在的问题是这快内存还会被其他的很多程序用到,所以会不停的被中断,我想在我的程序中他被修改时才中断,用了一个bpmd xxxxxxxx w if(EBP==xxxxxxxx),这里面两个xxxxxxxx是一样的,因为堆栈被破坏了,但是下个断点然后F5不会有问题,如果没有断点的时候才会死掉,各位有什么建议?
|
|
|
沙发#
发布于:2002-12-05 09:13
大家有什么建议??
|
|
|
板凳#
发布于:2002-12-05 09:18
不知道你要解决什么问题,似乎是想找出破坏内存的那个函数调用,建议你对有可能修改该内存的函数都输出调试信息,然后使用双机联调试试
|
|
地板#
发布于:2002-12-05 09:21
目的就是这个。不过我是在98下的vxd,我知道是在那个函数里面,但是不确定是在那个语句,而且如果我下个断点就不会出问题了,
|
|
|
地下室#
发布于:2002-12-05 16:18
如果这样也好办,你可以把该函数里的代码分段,每段前加调试信息,然后再判断。还有我很奇怪你所说的加了断点就不会有问题,这有两个可能,一个可能你是不是在单步执行,这样多线程冲突就不会存在,另一个可能是softice对页错进行了监控,这样系统可能不会报错,但你的数据应该会有问题。
|
|
5楼#
发布于:2002-12-05 16:41
这个问题我也很奇怪,不用单步,只要每次F5就行了,而且一切都正常,是在什么地方内存越界了,将调用函数的栈该了,在返回时的pop ebp以后不就完蛋了么:(
|
|
|