|
Boost : |
Subject: Re: [boost] What Should we do About Boost.Test?
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-10-05 17:14:13
on Fri Oct 05 2012, Gennadiy Rozenal <rogeeff-AT-gmail.com> wrote:
> Dave Abrahams <dave <at> boostpro.com> writes:
>> I haven't looked at the code, but I wonder if Gennadiy could improve the
>> situation by putting the debug break in the dtor of a return value, so
>> you gather up all this information in the nested function calls, and
>> then only drop into the debugger where the test macro is invoked?
>
> I do not follow what you are saying. What return value you refer to? And what
> kind of debug break?
>
> Macro resolves to something like:
>
> check_function( expression under test, some context,... )
>
> Since function arguments are evaluated in unknown order, it it possible the
> context collection expressions executed first.
IIUC the claim
is that the call stack at the point of the breakpoint looks like:
user_function1
user_function2
boost.test_function1
boost.test_function2
boost.test_function3
boost.test_function4
break
I obviously don't understand the problem completely, but my suggestion
was, instead of breaking in boost.test_function4, to return something
from boost.test_function1 whose dtor contains a debug break. If
valuable information is being collected in boost.test_functionX, store
it on the heap if necessary so it can be available at the point of the
debug break.
Hope this is useful, but it might not be.
-- Dave Abrahams BoostPro Computing Software Development Training http://www.boostpro.com Clang/LLVM/EDG Compilers C++ Boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk