this is my second post. first I had a problem of a crash during startup
and later changed my entry point and solved it. I got help from this list.
Thanks a lot for that again..

This time I need some ways to debug it. Or a direct solution if possible.
Please help this n00b folks.

Scenario..

A AutoCAD like program. OpengL based.. Windows XP SP2
Code : C++ Mixed (native + managed.NET) /w CLR
VS 2008, no MFC
My code is pretty complex with a lot of classes,
STL lists, maps
pointers of the same objects in lists in different places.

Issue 1

Moreover after adding the serialization library, the compile time
has heavily increased. And the full system slows down.
When compiling the task manager shows around 500 mb usage for
the compilation process.

I had a really lot of warning generated.. I mean more than 300 maybe or more.
So I just disabled them in the settings.

Compile Time - 7 mins 44 secs
Link Time - 1 min 30 secs
Total - 9 mins 14 secs

Code is hardly 6000 to 10000 lines..
Can anyone guide me or give me links to articles
that can help me..

Issue 2

Later I had this SEHException.. then I had to add try catch
and found it raised unregistered class exception, so I fixed it
adding BOOST_CLASS_EXPORT() below each class declaration...
I still had some problems of redefinition, so I simply removed
serialization from some classes and fixed that.

Later I got some void cast exception, I still commented some
more serialization code. Now It runs fine and gets me an file
when I serialize immediately after initialization. After that
when I create some lines/circles etc, and then serialize It gives me
another error...

BREAKS at xtree header - Call Stack

>    New Rapid Vision.exe!std::_Tree<std::_Tset_traits<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject>,0> >::_Orphan_ptr(std::_Tree<std::_Tset_traits<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject>,0> > & _Cont={...}, std::_Tree_nod<std::_Tset_traits<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject>,0> >::_Node * _Ptr=0x00000000)  Line 1376 + 0x5 bytes    C++
     New Rapid Vision.exe!std::_Tree<std::_Tset_traits<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject>,0> >::clear()  Line 971    C++
     New Rapid Vision.exe!std::_Tree<std::_Tset_traits<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject>,0> >::erase(std::_Tree<std::_Tset_traits<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject>,0> >::const_iterator _First={address=0x0578d980 class_id={...} object_id={...} }, std::_Tree<std::_Tset_traits<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject>,0> >::const_iterator _Last={address=0xcdcdcdcd class_id={...} object_id={...} })  Line 938    C++
     New Rapid Vision.exe!std::_Tree<std::_Tset_traits<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject>,0> >::_Tidy()  Line 1421 + 0x77 bytes    C++
     New Rapid Vision.exe!std::_Tree<std::_Tset_traits<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject>,0> >::~_Tree<std::_Tset_traits<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject>,0> >()  Line 541    C++
     New Rapid Vision.exe!std::set<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject> >::~set<boost::archive::detail::basic_oarchive_impl::aobject,std::less<boost::archive::detail::basic_oarchive_impl::aobject>,std::allocator<boost::archive::detail::basic_oarchive_impl::aobject> >()  + 0xf bytes    C++
     New Rapid Vision.exe!boost::archive::detail::basic_oarchive_impl::~basic_oarchive_impl()  + 0x59 bytes    C++
     New Rapid Vision.exe!boost::archive::detail::basic_oarchive_impl::`scalar deleting destructor'()  + 0xf bytes    C++
     New Rapid Vision.exe!boost::archive::detail::basic_oarchive::~basic_oarchive()  Line 407 + 0x1f bytes    C++
     [Managed to Native Transition]   
     New Rapid Vision.exe!<Module>.boost.archive.detail.common_oarchive<boost::archive::text_oarchive>.{dtor}() + 0x18 bytes   
     New Rapid Vision.exe!boost::archive::basic_text_oarchive<boost::archive::text_oarchive>::~basic_text_oarchive<boost::archive::text_oarchive>() Line 126 + 0xe bytes    C++
     New Rapid Vision.exe!boost::archive::text_oarchive_impl<boost::archive::text_oarchive>::~text_oarchive_impl<boost::archive::text_oarchive>() Line 71 + 0x12 bytes    C++
     New Rapid Vision.exe!boost::archive::text_oarchive::~text_oarchive() Line 88 + 0xe bytes    C++
     New Rapid Vision.exe!RCadApp::savetofile() Line 210 + 0x9 bytes    C++
     New Rapid Vision.exe!RCadApp::changeHandler(RCadApp::HANDLERLIST  = 3) Line 661    C++
     New Rapid Vision.exe!ToolStripButtonSettings::DrawTools(System::Object^ o = 0x021d29e8, System::Windows::Forms::MouseEventArgs^ e = 0x02279a28) Line 258    C++
     System.Windows.Forms.dll!System.Windows.Forms.ToolStripItem.RaiseMouseEvent(object key, System.Windows.Forms.MouseEventArgs e) + 0x4a bytes   
     System.Windows.Forms.dll!System.Windows.Forms.ToolStripItem.HandleMouseDown(System.Windows.Forms.MouseEventArgs e) + 0xbb bytes   
     System.Windows.Forms.dll!System.Windows.Forms.ToolStripItem.FireEventInteractive(System.EventArgs e, System.Windows.Forms.ToolStripItemEventType met) + 0x9e bytes   
     System.Windows.Forms.dll!System.Windows.Forms.ToolStripItem.FireEvent(System.EventArgs e, System.Windows.Forms.ToolStripItemEventType met) + 0x122 bytes   
     System.Windows.Forms.dll!System.Windows.Forms.ToolStrip.OnMouseDown(System.Windows.Forms.MouseEventArgs mea) + 0x111 bytes   
     System.Windows.Forms.dll!System.Windows.Forms.Control.WmMouseDown(ref System.Windows.Forms.Message m, System.Windows.Forms.MouseButtons button, int clicks) + 0xf1 bytes   
     System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x4d3 bytes   
     System.Windows.Forms.dll!System.Windows.Forms.ScrollableControl.WndProc(ref System.Windows.Forms.Message m) + 0x45 bytes   
     System.Windows.Forms.dll!System.Windows.Forms.ToolStrip.WndProc(ref System.Windows.Forms.Message m = {msg=0x203 (WM_LBUTTONDBLCLK) hwnd=0x170362 wparam=0x1 lparam=0x4c000a result=0x0}) + 0x71 bytes   
     System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0xd bytes   
     System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x36 bytes   
     System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 515, System.IntPtr wparam, System.IntPtr lparam) + 0x57 bytes   
     [Native to Managed Transition]   
     user32.dll!7e418734()    
     [Frames below may be incorrect and/or missing, no symbols loaded for user32.dll]   
     user32.dll!7e418816()    
     user32.dll!7e4189cd()    
     [Managed to Native Transition]   
     System.Windows.Forms.dll!System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(int dwComponentID, int reason = -1, int pvLoopData = 0) + 0x2f1 bytes   
     System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(int reason = -1, System.Windows.Forms.ApplicationContext context = {System.Windows.Forms.ApplicationContext}) + 0x17d bytes   
     System.Windows.Forms.dll!System.Windows.Forms.Application.ThreadContext.RunMessageLoop(int reason, System.Windows.Forms.ApplicationContext context) + 0x53 bytes   
     System.Windows.Forms.dll!System.Windows.Forms.Application.Run(System.Windows.Forms.Form mainForm) + 0x2e bytes   
     New Rapid Vision.exe!main(array<System::String^> ^ args = {Length=0}) Line 18    C++
     New Rapid Vision.exe!mainCRTStartupStrArray(array<System::String^> ^ arguments = {Length=0}) Line 309 + 0x9 bytes    C++
     mscoree.dll!7900b1b3()    
     kernel32.dll!7c816fd7()    



--
With best Regards
Quakeboy