能力值:
(RANK:300 )
|
-
-
2 楼
1. 这是我的错误,那个 push 可以不要 (这篇文章是很久以前,很多内容我都忘了)
2. 当异发生,没有 SHE 处理的话, windows 便把它掉到 unhandled exception handler 去
对缓存器 register 本身的断点,应该没有了
3. 是不是要对特别的位置下断点 ?
如果是对一个内存区块下断,可以在 OD 的 Memory 里,选了内存区块后按 F2,整片区块变红色
希望对你有帮助
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
呵呵,多谢版主热心解答,我正在看你的教程,打扰了.
第三个问题不是这样,某块内存一开始未分配,查看内存什么都没有啊.
另外,另一个网友问你的问题我也顺便能问你一下,你写了一个函数
void godie()
{
__asm push -1;
__asm ret -1;
}
我是用vc编译的,结果函数前后多了无数修饰性成分,比如以上的代码,会自动创建栈桢什么的.有什么办法让编译器不修饰,call godie是直接就跳到你的 __asm push -1上执行?
|
能力值:
( LV12,RANK:450 )
|
-
-
4 楼
最后这个问题是函数没有加__declspec(naked)修饰的原因,加了之后VC就不会生成那些代码了。
void __declspec(naked) godie()
{
__asm push -1;
__asm ret -1;
}
|
能力值:
(RANK:300 )
|
-
-
5 楼
最初由 zheng 发布 呵呵,多谢版主热心解答,我正在看你的教程,打扰了. 第三个问题不是这样,某块内存一开始未分配,查看内存什么都没有啊.
另外,另一个网友问你的问题我也顺便能问你一下,你写了一个函数
........
你的 vc 编译时,使用 debug profile 或是 release profile ?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
多谢dreaman,问题解决了.
也多谢rjjjj,我一开始都是debug的,发布了才release不管怎么样,用__declspec( naked ) 修饰一下就不会有多余的代码了
|
|
|