B
beta
Unregistered / Unconfirmed
GUEST, unregistred user!
楼上的兄弟您回帖之前至少应该先看一楼的内容吧:)
没想到这个帖子竟引来了 aimingoo 大虾
//的确不是这样,如果是try-finally-end块,则一旦发生异常,最先进入的并不是
//finally-end块,而是...
这我虽然知道,但是您更详细的讲解还是让我受益非浅:)
//这绝对是不安全的,eax的值并不能保证。不过有一点可以肯定,如果代码正常执行到
//finally-end,eax的确为0。
呵呵,从您后面的分析可以看出我的基于汇编代码流程的判断方式是可行的,当然,这
恐怕没有您的基于delphi异常机制的判断方式“保值”:)
//procedure _DoLog(EAXWORD);
哈哈,您这个方法完全违背了delp兄的本意,DoLog是好看了,却来了个不好看的“兄弟”
//function HaveException : boolean;
构思的确非常巧妙,为了取得栈中的返回地址,人为引发了个异常
不过经我测试无论如何都返回 False :(
环境:D6 + sp0 + Win2kPro
没想到这个帖子竟引来了 aimingoo 大虾
//的确不是这样,如果是try-finally-end块,则一旦发生异常,最先进入的并不是
//finally-end块,而是...
这我虽然知道,但是您更详细的讲解还是让我受益非浅:)
//这绝对是不安全的,eax的值并不能保证。不过有一点可以肯定,如果代码正常执行到
//finally-end,eax的确为0。
呵呵,从您后面的分析可以看出我的基于汇编代码流程的判断方式是可行的,当然,这
恐怕没有您的基于delphi异常机制的判断方式“保值”:)
//procedure _DoLog(EAXWORD);
哈哈,您这个方法完全违背了delp兄的本意,DoLog是好看了,却来了个不好看的“兄弟”
//function HaveException : boolean;
构思的确非常巧妙,为了取得栈中的返回地址,人为引发了个异常
不过经我测试无论如何都返回 False :(
环境:D6 + sp0 + Win2kPro