VS2008编写的win32DLL用VS2005调试崩溃,该如何处理

VS2008编写的win32DLL用VS2005调试崩溃
VS2008编写的DLL,多字节字符集,标准windows库,基本运行时检查为默认值,运行库为多线程调试DLL
EXE为VS2005编写的MFC程序,UNICODE,在静态库中使用MFC,基本运行时检查为默认值,运行库为多线程调试DLL。
DLL是别人写的,拿到代码用2005打开编译,EXE能加载这个新编译的DLL,但会崩溃调用堆栈跳到
msvcp80d.dll std::_string_base::~_string_base,msvcp80d.dll std::_Lockit::~__Lockit
DLL里用到了线程,锁。求解改怎么处理,在线等

------解决方案--------------------
一定要遵循谁申请谁释放和函数之间不要传递对象的大原则,就没问题。
------解决方案--------------------
在静态库中使用MFC

改成在动态库中使用mfc,试试