c++ - 如何将分段错误中的信息映射到源代码中的行?
问题描述
我得到一个分段错误(Address not found
)。我收到的结果如下所示:
#3 Object "/some/dir/bin/myProject", at 0x415526, in
#2 Object "/some/dir/bin/myProject", at 0x40d3f9, in
#1 Object "/some/dir/bin/myProject", at 0x409b1a, in
#0 Object "/lib64/libpthread.so.0", at 0x7f9a82a78cd0, in pthread_mutex_lock
我想知道位置转换到哪个命令myProject.cpp
。我怎样才能做到这一点?
我不检查这个的原因gdb
是这个错误是由多个线程通信的方式引起的,并且人为干预引入了太多的等待时间,以至于这个错误不会发生。错误也是零星的...
附加问题:
我对错误的理解Address not found
是,这可能是由于取消引用 nullprt 或尝试访问错误位置的容器引起的。你会同意吗?
编辑
感谢您建议调试核心转储文件。这样做的问题是:当出现这个错误时,程序并没有崩溃!错误(或类似错误)被打印到控制台并且程序被卡住(再次多线程......)。它不会终止,所以我猜没有转储文件(如果我错了,请纠正我!)。我找不到任何...
解决方案
推荐阅读
- python - TypeError 与功能,但工作正常,否则
- haskell - 为什么这个 Functor 的实例化不起作用?
- python - 用jinja2或python中的正则表达式替换字符串中的相同字符序列
- r - ggplot2:数字 x 轴上的自定义分类标签
- python - 将小节后缀值添加到 pandas 列值
- javascript - 消除不同 mapStateToProps 之间的冗余
- tensorflow - 如何使用 virtualenv 安装包但仍然使用系统 tensorflow 安装
- c# - C# EF Core 如何只为模型初始化一次列表?
- node.js - AnswerHandler 和 PlayerCountHandler 混淆了
- vector-tiles - 打开地图瓷砖。车辆路线