标签: linux gdb pthreads heisenbug
我正在尝试解决程序中的错误,其中一个线程在没有直接原因的情况下突然终止或停止。不幸的是,如果使用任何调试信息编译程序,这个问题就会消失。通过使用打印机填充相同的线程,我还确定了它停止的位置根据用户输入而变化,但在其他方面相当确定。也就是说,如果没有给出任何用户输入,它总是停在相同的位置。
该程序在我的雇主使用的自定义嵌入式Linux发行版上运行,并且是用c ++编写的。您会建议我使用哪种方法来查找此问题的根本原因?