c - Linux程序段错误

标签 c linux shared elf

正在使用 Ubuntu 10.04。

我正在测试 gSOAP 示例之一 (calcclient) 作为静态链接的可执行文件。效果很好。 后来我分割了模块,因此其中一些模块进入了共享库(我将其复制到/usr/local/lib )。然后将主模块编译为独立的动态链接二进制文件。 一切似乎都正常,ldd 输出是

linux-vdso.so.1 =>  (0x00007fff66fff000)
libgsoapcalcclient.so => /usr/local/lib/libgsoapcalcclient.so (0x00007f7a59d35000)
libc.so.6 => /lib/libc.so.6 (0x00007f7a59986000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7a5a177000)

这是预期的。 但是当我尝试执行二进制文件时,它会因段错误而停止。 我该怎么做才能解决这个问题?

最佳答案

在启用调试信息的情况下进行编译并确定段错误发生的位置将是一个不错的起点。

关于c - Linux程序段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26148219/

相关文章:

C++ 共享对象

康威生命游戏奇怪的结果

c - "define"不是C99中的保留关键字或宏名称吗?

c - 通过system()执行外部程序时的GDB断点

linux - 用于在后台运行进程的 Shell 脚本解析其输出并在前一个进程包含字符串时启动服务

angular - 为什么 angular-cli 会创建 component/shared/index.ts?

linux - PHP 服务器上的 Solr 安装问题(对于 Drupal)

c++ - 如果我们只有一个成员,结构和 union 之间有什么区别吗?

c++ - 内存仍可访问的错误已修复,但为什么呢?

linux - Linux 中交换区脏页的更新