我已经构建了一个DLL以及pdb符号,以便我可以浏览代码。我有一个签名方法如下:
void A::b(
const std::map<std::string, int> &map,
const std::vector<std::string> &names,
std::shared_ptr<data> data_in,
const std::map<int32, int32> index_map_in
它运行良好到最后,但当它开始释放局部变量时,它会遇到问题。特别是当它试图解除分配index_map_in时。
ntdll.dll!00007ffdef5b771e() Unknown
ntdll.dll!00007ffdef5bdf0a() Unknown
ntdll.dll!00007ffdef564f22() Unknown
ntdll.dll!00007ffdef579024() Unknown
ucrtbase.dll!00007ffdebc3c97b() Unknown
my.dll!std::_Deallocate(void * _Ptr, unsigned __int64 _Count, unsigned __int64 _Sz) Line 133 C++
my.dll!std::allocator<std::_Tree_node<std::pair<int const ,int>,void * __ptr64> >::deallocate(std::_Tree_node<std::pair<int const ,int>,void *> * _Ptr, unsigned __int64 _Count) Line 721 C++
my.dll!std::_Wrap_alloc<std::allocator<std::_Tree_node<std::pair<int const ,int>,void * __ptr64> > >::deallocate(std::_Tree_node<std::pair<int const ,int>,void *> * _Ptr, unsigned __int64 _Count) Line 988 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Erase(std::_Tree_node<std::pair<int const ,int>,void *> * _Rootnode) Line 2042 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Erase(std::_Tree_node<std::pair<int const ,int>,void *> * _Rootnode) Line 2037 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Erase(std::_Tree_node<std::pair<int const ,int>,void *> * _Rootnode) Line 2037 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Erase(std::_Tree_node<std::pair<int const ,int>,void *> * _Rootnode) Line 2037 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Erase(std::_Tree_node<std::pair<int const ,int>,void *> * _Rootnode) Line 2037 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Erase(std::_Tree_node<std::pair<int const ,int>,void *> * _Rootnode) Line 2037 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Erase(std::_Tree_node<std::pair<int const ,int>,void *> * _Rootnode) Line 2037 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Erase(std::_Tree_node<std::pair<int const ,int>,void *> * _Rootnode) Line 2037 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Erase(std::_Tree_node<std::pair<int const ,int>,void *> * _Rootnode) Line 2037 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Erase(std::_Tree_node<std::pair<int const ,int>,void *> * _Rootnode) Line 2037 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::clear() Line 1472 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::erase(std::_Tree_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<int const ,int> > > > _First, std::_Tree_const_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<int const ,int> > > > _Last) Line 1448 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::_Tidy() Line 2169 C++
my.dll!std::_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >::~_Tree<std::_Tmap_traits<int,int,std::less<int>,std::allocator<std::pair<int const ,int> >,0> >() Line 1091 C++
my.dll!std::map<int,int,std::less<int>,std::allocator<std::pair<int const ,int> > >::~map<int,int,std::less<int>,std::allocator<std::pair<int const ,int> > >() C++
> my.dll!A::b(const std::map<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,int,std::less<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >,std::allocator<std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char> > const ,int> > > & joint_map, const std::vector<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > > & joint_names, std::shared_ptr<ik_joint_data> joint_data_in, const std::map<int,int,std::less<int>,std::allocator<std::pair<int const ,int> > > parent_index_map_in) Line 258 C++
我想知道这是否与我的DLL链接的其中一个CRT库有关?