c++ - C++ 多线程程序因 BUS 错误而崩溃
问题描述
我的项目经过 5 天的测试后崩溃了,当我分析转储文件时,它显示为BUS
错误
这是我从以下代码中获得的backtrace
Program terminated with signal SIGBUS, Bus error.
#0 0x0000000000000531 in ?? ()
[Current thread is 1 (LWP 902)]
(gdb) bt
#0 0x0000000000000531 in ?? ()
#1 0x000000000041a294 in CUtilsTimer::forgetTimer() ()
#2 0x0000000000415160 in CEMPLinkMonitor::monitor_ethernet_link_status() ()
#3 0x0000000000413fc8 in CEMPTransport::recvEMPData(Emp_Packet*) ()
#4 0x000000000041313c in CEMPRxTransport::run() ()
#5 0x00000000004190a8 in CUtilsThread::runLoop(void*) ()
#6 0x0000007fac289fb8 in ?? () from /lib/libpthread.so.0
#7 0x0000007fa74bdc98 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
(gdb)
我试图找到根本原因,但无法获得任何破解线索,请帮助
解决方案
推荐阅读
- reactjs - TypeError:无法读取反应应用程序中未定义的属性“推送”
- android - 运行应用程序时出现错误“$flutterSdkpath\packages\flutter_tools\gradle\app_plugin_loader.gradle”
- javascript - 在 vuejs 中页面刷新(shift+F5)期间调用了哪个生命周期方法?
- python-3.x - 从维基百科页面抓取所有图像
- c++ - 如何使用 spdlog 打印 std::map
- scala - 在 nullSafeJoin scala spark 之后避免重复库
- java - 在 N 个线程中并行运行相同的测试 M 次
- neo4j - 在 grafana 仪表板中动态更改 prometheus 中的指标名称
- node.js - 无法编译打字稿项目
- mysql - 在 Ubuntu 20.04 上配置 MariaDB