infinite abort() in a backrace of a c++ program core dump

后端 未结 2 1349
余生分开走
余生分开走 2021-02-20 12:24

I have a strange problem that I can\'t solve. Please help!

The program is a multithreaded c++ application that runs on ARM Linux machine. Recently I began testing it for

2条回答
  •  暖寄归人
    2021-02-20 13:09

    One possibility here is that something in that thread has very, very badly smashed the stack by vastly overwriting an on-stack data structure, destroying all the needed data on the stack in the process. That makes postmortem debugging very unpleasant.

    If you can reproduce the problem at will, the right thing to do is to run the thread under gdb and watch what is going on precisely at the moment when the the stack gets nuked. This may, in turn, require some sort of careful search to determine where exactly the error is happening.

    If you cannot reproduce the problem at will, the best I can suggest is very carefully looking for clues in the thread local storage for that thread to see if it hints at where the thread was executing before death hit.

提交回复
热议问题