C++程序核心转储,因为新的 <string 内存大小巨大>

C++ program core dump due to new a huge size of memory by <string>

提问人:Steven 提问时间:9/8/2023 更新时间:9/8/2023 访问量:20

问:

我的程序报告了核心转储回跟踪,如下所示:

0000000011deaae2     MEMalloc_fail     110      /home/jenkins/workspace/shared/memory/MEMlocal.c
00000000121b3026     MEMalloc              3134 (discriminator 1)      tor 1)
00000000121bec8f     operator new          34      /home/jenkins/workspace/memory/MEMnew_del.cpp
0000000010027e15     void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char*>   219      /usr/include/c++/8/bits/basic_string.tcc
00007fa34d58f7c7     ??

运算符 new 由我们自己的代码挂钩和管理。MEMlocal.c 源代码还具有以下错误日志。它抱怨请求的内存非常大,size=8385546811006266694,但我们不知道如何调试根本原因。

Err (MEMlocal.c 110
Assert: BADPARAM from MEMalloc_fail()
Function Trace:
0000000011deaae2 00000000121b3026 00000000121bec8f 0000000010027e15
00007fa34d58f7c7
Register Dump:
DI  =  00007fa3178e5920   SI  =  00007fa30cee96d0
DX  =  0000000000000080   CX  =  00007fa300000000
User String:
[line=2043] Parameters: addr_ptr=0x7fa30ceea158 size=8385546811006266694 
Absolute allocation size limit for this pool=28505545 blocks.
Usage=0xc6172e/0x1b2f5c9 [45.542233%]

感谢您为下一步调试提供任何线索。

字符串 malloc

评论


答: 暂无答案