kdt*_*kdt 3 linux dlopen sigfpe
我有一个可疑的起源库,它被识别file为32位可执行文件.但是,当我dlopen在32位CentOS 4.4机器上尝试它时,dlopen会终止SIGFPE.当然,如果二进制格式出现问题,那么dlopen应该处理错误吗?
所以问题是:什么样的问题会导致dlopen发出SIGFPE?
一些可能的原因是:
以下是关于GNU系统中ELF格式的哈希生成的有趣讨论,当混合和匹配非基于该发行版/系统的DSO时,ABI不匹配可能导致系统上的SIGFPE.
使用以下命令对可执行文件运行GDB
]$ gdb ./my_executable
(gdb) run
Run Code Online (Sandbox Code Playgroud)
当程序崩溃时,获取回溯
(gdb) bt
Run Code Online (Sandbox Code Playgroud)
如果堆栈结束do_lookup_x ()然后您可能会遇到相同的问题,并且应该确保您的DSO对于您尝试加载它的系统是正确的...但是您确实说它有可疑的起源因此问题可能是类似于ABI的问题描述的那个.
得到一个不可疑的库/可执行文件!;)
祝好运
| 归档时间: |
|
| 查看次数: |
1598 次 |
| 最近记录: |