linux 编译so 段错误,linux 段错误,我快疯了,搞了两天了

Core was generated by `./test'.

Program terminated with signal 11, Segmentation fault.

Reading symbols from /opt/SinoVoice/jTTS-5.0.1.0/bin/libjTTS_ML.so...done.

Loaded symbols for /opt/SinoVoice/jTTS-5.0.1.0/bin/libjTTS_ML.so

Reading symbols from /opt/SinoVoice/jTTS-5.0.1.0/bin/libjTTS_Audio.so...done.

Loaded symbols for /opt/SinoVoice/jTTS-5.0.1.0/bin/libjTTS_Audio.so

Reading symbols from /lib/libdl.so.2...done.

Loaded symbols for /lib/libdl.so.2

Reading symbols from /lib/tls/libpthread.so.0...done.

Loaded symbols for /lib/tls/libpthread.so.0

Reading symbols from /usr/lib/libstdc++.so.6...done.

Loaded symbols for /usr/lib/libstdc++.so.6

Reading symbols from /lib/tls/libm.so.6...done.

Loaded symbols for /lib/tls/libm.so.6

Reading symbols from /lib/tls/libc.so.6...done.

Loaded symbols for /lib/tls/libc.so.6

Reading symbols from /lib/libgcc_s.so.1...done.

Loaded symbols for /lib/libgcc_s.so.1

Reading symbols from /lib/ld-linux.so.2...done.

Loaded symbols for /lib/ld-linux.so.2

#0  0x00c89f68 in ?? ()

(gdb) bt

#0  0x00c89f68 in ?? ()

#1  0x001f3597 in exit () from /lib/tls/libc.so.6

#2  0x001ddded in __libc_start_main () from /lib/tls/libc.so.6

#3  0x08048a05 in _start ()

(gdb)

程序大概是这样的

test调用a.so,然后a.so中调用b.so。

程序出现段错误以后,就是上面的内容。谁知道这什么问题啊。我快疯了。!!!!!!!

|

如果有.so的代码,建议:

1.将.so静态链接到主程序。

2.直接测试.so的代码。

3.使用purify等测试工具,查看内存错误。

|

试试先把.so都编译成.o然后静态链接有没有问题?静态链接调试方便些吧

|

?? () 栈出错了...最好能贴代码.

|

贴下代码看看.

|

试着把那些变量定义放到函数的开头试试, 不要在函数中间间插定义变量

|

用用的是C++, 编译的时候有没有什么告警之类的东西?

|

在exit()中会关闭所有文件,可能是文件操作的问题。检查一下jTTS_PlayToFile中是怎么处理szToFile的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值