首页 > 编程知识 正文

已放弃核心已转储,linux终端提示段错误

时间:2023-05-04 13:10:27 阅读:39538 作者:3336

后端优化出现了段错误(核心转储)问题,并寻求了解决方案。

首先,通过继续注释、运行、注释和运行部分代码,找出大致范围在哪里不对。

这种问题的根本原因是创建内存的非法操作段错误转储文件,如果出现段错误,建议使用gdb分析该文件定位到发生段错误的代码上来确定段错误的直接原因国庆节-国庆节

GDB大法好,直接定位到相关信息,使用gdb ggo学习进入调试界面

gdbggolearninggnugdb (Ubuntu 8.1-0 Ubuntu 3.2 )8.1.0. 20180409 -千兆版权(c ) 2018自由软件基础设施, Inc.licensegplv 3: gnugplversion3orla ter http://GNU.org/licenses/GPL.htmlthisisfreeesoftware 3360 youarefreeetochangeandrandrd otheextentpermittedbylaw.type ' show copying ' and ' show warranty ' for details.thisgdbwasconfiguredas ' x86 _ 65374; 65306; nstructions, pleasesee :http://www.GNU.org/software/gdb/bugs/. findthegdbmanualandotherdocumentationresourcesonlineat 33603355555 进入type ' help '.type ' apropos word ' tosearchforcommandsrelatedto ' word ' . readingsymbolsfromgolearning . done。 在程序运行时,可以看到发生了Program received signal SIGSEGV,Segmentation fault .错误。

程序发生异常时,通常接收来自内核的异常信号。 例如,如果为对内存出现非法访问时将收到段错误信号SIGSEGV,则退出。 利用这个,我们收到异常信号后,输出程序的调用堆栈。 它通常使用signal ()函数来确定关于系统信号的

(gdb ) rstartingprogram :/home/user/work/x/rgbd-slam-tutorial-GX/parti/kk dym/ggo learning [ thread debb ] x86_64-Linux-GNU/lib thread _ db.so.1 '.rmseforthestructureis :00825072 rmsefortherotationofcamerais :0478788 rmseforthetranslatiotion gsegv,segmentation fault.0x 00007 ffff 75 e 6267 ing2o 33603360 base vertex 6, g2o :3360 se 3qu at :3360 pop () from/home/user/work/x/rgbd-slam-tutorial-GX/parti/include/g2o在此为

(gdb ) Bt # 00x 00007 ffff 75 e 6267 ing2o :3360 base vertex 6、G2 o :3360 se 3qu at :3360 pop () from/home/user/work/g2o 10x 00007 ffff 7620 a 78 ing2o :3360 sparse optimizer :3360 pop (STD :3360 vectorg2o 3: optimizablegraph :3360 vove torg2o : optimizablegraph :3360 vertex * (来自/家庭/用户/工作//rgbd-slam-tutoring libg2o.so # 20x 00007 ffff 7629 be2 ing2o :3360 optimizationalgorithmlevenberg 33603360 solve (bool () from/home/user/work/x/rgbd lib/libg2o.so # 30x 00007 ffff 76219 cding2o :3360 sparse optimizer 33603360 optimize (int, bool () from/home/user/work/xio/rgbd-slam-tutorial-GX/parti/include/g2o/lib/libg 2o.so # 40x 000555581 F5 a0insolveba (vnoisycameras=STD :3360 vectoroflength 3,capacity 3={.}, vnoisegeometryfeatures=STD :3360 vectoroflength 2、capacity2={ . } at/home/user/work/x/rgbd-slam-tutoriariary0x argv=0x7fffffffdd18 ) at/home/user/work/x/rgbd-slam-tutorial-GX/parti/src/ggo learning.CPP 3360123 (23 ) argv=0x7fffffffdd18 ) at/home/user/work/x/rgbd-slam-tutorial-GX/parti/src/go learning.CPP :123 warning : sourcefileismorerecentthanexecutable.123 solve ba (vnoisycameras,vnoisygeomeomeryplanefear

(gdb ) frame4# 40x 0000555581 F5 A0 insolveba (vnoisycameras=STD 33603360 vectoroflength 3,capacity 3={.}, vnoisegeometryfeatures=STD :3360 vectoroflength 2,capacity2={ . } (at/home/user/work/xinguo/rgbd-slam-) 输入(gdb ) quit或按Ctrl-d退出

调试后发现已进入汇编语言接口。

HLT使CPU处于不指挥、不读写数据、总线上“安静”的状态。 此命令

使用的地方很少,一般用于等待外部的中断。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。