Andreas Goebel schrieb:
MSVC allows you to generate debug info even in Release Mode; make sure
you set the Debug Information Format in the C++ project options, and
tell the Linker to generate Debugging output. That might produce more
useful information when you run in the debugger.
HTH,
Thanks,
that´s a good idea. Actually the program crashes here:
MyIntersections.clear();
if (LineIntersector.containsIntersections() ){
osgUtil::LineSegmentIntersector::Intersections MyInts =
LineIntersector.getIntersections();
for
(osgUtil::LineSegmentIntersector::Intersections::iterator it =
MyInts.begin();
it != MyInts.end(); ++it)
MyIntersections.push_back(it->getWorldIntersectPoint() );
SetPosition(LineIntersector.getFirstIntersection().getWorldIntersectPoint()
);
} //Here is the crash
else
SetPosition(osg::Vec3(0, 0, 0) );
in the destructor of osgUtil::LineSegmentIntersector::Intersection
(the crash is where the Intersections - vector goes out of scope).
I´ll have a look at that destructor, but maybe Robert has an idea
about that, too.
Aha, there is no desctructor, it´s just a simple struct. HM.
Here is the call-sequenze of that crash:
ntdll.dll!7c911230()
[Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder
fehlen, keine Symbole geladen für ntdll.dll]
ntdll.dll!7c97c943()
ntdll.dll!7c97cd80()
ntdll.dll!7c97df66()
ntdll.dll!7c92056d()
msvcr80.dll!78134b9f()
msvcr80.dll!78134bbe()
ntdll.dll!7c95a5d0()
osgUtil.dll!009db7c7()
ntdll.dll!7c9368ad()
DreiDEdit.exe!memmove_s(void * dst=0x01574288, unsigned int
sizeInBytes=24, const void * src=0x018b6e40, unsigned int count=24)
Zeile 58 + 0xc Bytes C
DreiDEdit.exe!std::_Uninit_copy<double const *,double
*,std::allocator<double> >(const double * _First=0x018b6e40, const
double * _Last=0x018b6e58, double * _Dest=0x014f0000,
std::allocator<double> & __formal={...}, std::allocator<double> &
__formal={...}, std::allocator<double> & __formal={...}) Zeile 129 +
0xc Bytes C++
DreiDEdit.exe!stdext::unchecked_uninitialized_copy<std::_Vector_const_iterator<double,std::allocator<double>
>,double *,std::allocator<double>
>(std::_Vector_const_iterator<double,std::allocator<double> >
_First=0.45205613970756531,
std::_Vector_const_iterator<double,std::allocator<double> >
_Last=6.9850276205963215e+107, double * _Dest=0x7c936ac8,
std::allocator<double> & _Al={...}) Zeile 674 + 0x1d Bytes C++
DreiDEdit.exe!std::vector<double,std::allocator<double>
>::_Ucopy<std::_Vector_const_iterator<double,std::allocator<double> >
>(std::_Vector_const_iterator<double,std::allocator<double> >
_First={...}, std::_Vector_const_iterator<double,std::allocator<double>
> _Last=3.785200942584e-317#DEN, double * _Ptr=0x018b6c08) Zeile 1105
+ 0x15 Bytes C++
ntdll.dll!7c9368ad()
ntdll.dll!7c9206eb()
msvcr80.dll!78134ce9()
msvcr80.dll!7817ff7a()
osgUtil.dll!009d8df9()
osgUtil.dll!009d90d2()
DreiDEdit.exe!free(void * pBlock=0x018b6c08) Zeile 110 C
DreiDEdit.exe!std::vector<double,std::allocator<double> >::_Tidy()
Zeile 1096 + 0x6 Bytes C++
DreiDEdit.exe!osgUtil::LineSegmentIntersector::Intersection::~Intersection()
+ 0x20 Bytes C++
> DreiDEdit.exe!GeoPoint::Realize() Zeile 78 C++
Looks like a strange problem.
Regards,
Andreas
Regards,
Andreas
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/