From: John Reid (j.reid_at_[hidden])
Date: 2006-06-09 04:27:16
Reece Dunn wrote:
> What happens when you break into the debugger. VC8 supports range
> checked iterators, dereferencing an invalid iterator, etc.
I don't break into the debugger, my program breaks during normal execution.
> What is the exception/assert message being generated?
> Can you use the VC8 debugger and see what values each of the variables
> are at the point where the assert/exception was generated?
> Is there any information you can gather by looking up the callstack?
It is clear by inspection that item_version is not initialised if
3 >= ar.get_library_version()
and then used as an argument to ifunc.
As a minimum/temporary solution I'd advise that the line:
unsigned int item_version;
is replaced by
unsigned int item_version = 0;
or put an else clause in the if statement.
> VC8 has additional error checking when compiling for debug.
Perhaps these should explicitly be turned on by boost developers and be
left off by default so users don't get caught by other problems like this.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk