私はmipsマルチコアシステムにプログラムを持っており、コアからバックトレースを取得するのは非常に困難です(少なくとも私にとっては)、おそらく他のコアの1つがmemに書き込んでいると思いますが、すべてのスタックが破損しているわけではありません。私にとってはもっと混乱します。
フレーム #2 ではこれは NULL であり、フレーム #0 ではこれも NULL です (コアダンプの原因)。
これは(一部)バックトレースです:
#0 E::m (this=0x0, string=0x562f148 "", size=202) at E.cc:315 #1 0x00000000105c773c in P::e (this=0x361ecd00, string=0x562f148 "", size=202, offset=28) at P.cc:137 #2 0x00000000105c8c5c in M::e (this=0x0, id=7 '\a', r=2, string=0x562f148 "", size=202, oneClass=0x562f148 "", secondClass=0x14eff439 "", offset=28) M.cc:75 で #3 0x0000000010596354 in m::find (this=0x4431fd70, string=0x562f148 "", size=202, oneClass=0x14eff438 "", secondClass=0x14eff439 "", up=false) at A.cc:458 #4 A::trigger の 0x0000000010597364 (this=0x4431fd70, triggerType=ONE, string=0x562f148 "", size=0, up=true) at A.cc:2084 #5 A::findOne の 0x000000001059bcf0 (this=0x4431fd70, index=2, Budget=0x562f148 "", size=202, up=true) at A.cc:1155 #6 0x000000001059c934 in A::shouldpathNow (this=0x4431fd70, index=2, Budget=0x562f148 "", size=202, up=false, startAt=0x0, short=) A.cc:783 #7 A::shouldpath の 0x00000000105a385c (this=0x4431fd70, index=2, rbudget=, rsize=, up=false, direct=) at A.cc:1104
m::find 関数について
442 m_t m::find(unsigned char const *string, unsigned int size, 443 hClass_t *hClass、h_t *fHClass、 444 bool isUp) { 445 446 447 const Iterator &it=arr_[getIndex()]->getSearchIterator((char const*)value, len); 448 449 unsigned int const オフセット = 値 - engine_->getData(); 450 451 int ret=UNKNOWN; 452M*p; 453 for(const void* match=it.next(); 454 ret == UNKNOWN && match != NULL; 455 一致 = it.next()){ 456 p = (M*) マッチ; 457 if(p->needMore()){ 458 ret = p->e(id_, getIndex(), 値, len, hClass, fHClass, オフセット);