|
Boost : |
From: David Abrahams (dave_at_[hidden])
Date: 2003-09-23 05:52:28
"carlos pizano" <carlospizano_at_[hidden]> writes:
>> In the article. Did you read it? I hope I don't need to provide the
>> link again.
>
> I did. It is good info. IMHO you should state there that your technique
> does not need /EHa. People like me tend to believe their compilers/books
> too much.
Good idea; I'll add that info.
>>> I hope I can get the attention of the maintainer of boost.test and
>>> that he/she feels like thinking.
>> ...but there's no need to patronize.
>
> I did not meant to come across like that. Sorry.
No prob.
> Now that I get that your technique is all about JIT Debugging, the
> problem is that there are two possible translators in execution_monitor:
>
> void
> ms_se_trans_func( unsigned int id, _EXCEPTION_POINTERS* /* exps */ )
> {
> throw ms_se_exception( id );
> }
>
> void
> ms_se_forward_func( unsigned int /* id */, _EXCEPTION_POINTERS* /* exps
> */ )
> {
> throw;
> }
>
> Which one is used depends on the bool catch_system_errors, if true the
> first one is used. That first one is not about JIT debugging because
> there is an enclosing catch block:
<snip>
> See my problem? the code expects to catch ms_se_exception. Looks like an
> error under /EHs.
Yes, that's a big problem. But then, I don't believe ms_se_trans_func
should ever be used, at least not by a general purpose testing library
like this one.
-- Dave Abrahams Boost Consulting www.boost-consulting.com
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk