+ -
当前位置:首页 → 问答吧 → 如何让程序一启动立刻断点?main函数进不去,全局变量太多无法下手。求助!

如何让程序一启动立刻断点?main函数进不去,全局变量太多无法下手。求助!

时间:2011-09-23

来源:互联网

本人因为要移植一个Windows的程序到Linux上(Ubuntu),刚接触Linux编程,发小白问题还请大家帮助:

直接运行程序报错:Inconsistency detected by ld.so: dl-runtime.c: 86: _dl_fixup: Assertion `((reloc->r_info) & 0xff) == 7' failed!

在main函数里下断点,但是根本没有机会运行到main函数,因为全局对象太多(大部分都是类),完全无法下手。 所以问题多半出在某个全局对象的初始化上面,导致程序直接挂掉。

用strace只能查到系统的调用,但到底是应用程序的哪个类哪个方法造成的完全无法得知!

请问有方法像VC那样,程序一启动立刻断下来,然后一步一步查看完整的运行流程吗?

多谢

PS: strace查到:access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory),这个正常吗?

作者: cywater2000   发布时间: 2011-09-23

你上面的错误提示,会不会是你的 /etc/ld.so.nohwcap 文件不存在
看下你的代码中有没有open这个文件的地方

作者: cqbamboo   发布时间: 2011-09-23

ls /etc/ld*
ldap.conf ld.so.cache ld.so.conf ld.so.conf.d/

我的系统没有/etc/ld.so.nohwcap, 这个应该错了吧.

感觉是在运行ld.so的时候就出错了.

作者: zmlovelx   发布时间: 2011-09-23