我的iPhone应用程序使用的是用c ++编写的第三方软件。 我收到了很多带有这种堆栈跟踪的错误报告:
0 libsystem_kernel.dylib
__pthread_kill + 8
1
libsystem_pthread.dylib
pthread_kill + 58
2
libsystem_c.dylib
abort + 76
3
libc++abi.dylib
abort_message + 74
4
libc++abi.dylib
default_terminate_handler() + 198
5
libobjc.A.dylib
_objc_terminate() + 228
6
libc++abi.dylib
std::__terminate(void (*)()) + 78
7
libc++abi.dylib
__cxxabiv1::exception_cleanup_func(_Unwind_Reason_Code, _Unwind_Exception*)
8 libc++abi.dylib
operator new(unsigned long, std::nothrow_t const&)
9
MyApp
new_allocator.h line 91
void std::vector<unsigned char, std::allocator<unsigned char> >::_M_range_insert<char const*>(__gnu_cxx::__normal_iterator<unsigned char*, std::vector<unsigned char, std::allocator<unsigned char> > >, char const*, char const*, std::forward_iterator_tag)
这是代码的相关部分:
void FileDownloadClient::__OnDataArrival( const char * pData ,int nDataLen )
{
....
m_received_data.insert(m_received_data.end(),pData,pData+nDataLen); //Offending line that crashes
....
}
m_received_data被声明为类型std::vector<uint8>
有谁知道可能是什么问题或者如何处理这个问题? 如果您需要其他信息,请告诉我。非常感谢您的帮助!