微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

进程在atr的ptrgl_64._ptrgl函数中失败

我们正试图将我们的代码从HPX移植到AIX,但在运行exe时获得核心转储。

它在一些未知的函数ptrgl_64._ptrgl中失败。

> ptrgl_64._ptrgl() at 0x900000084da0e48 > dfile_Proc(o_record = > 0x0000000400000004,fileType = > "^O377377377377377TH^O377377377377377TQ^O377377377377377Ta^O377377377377377T}",> dist_dest = (nil),indicator = '',> i_acCounters = (nil)),line 621 in > "disTfile.c" main(i_argc = 4,i_argv = > 0x0fffffffffff34e8),line 66 in > "main_EXEC.c"

有关这个问题的任何想法? 提前致谢。

GDB所做的核心转储包含了什么内容

实际崩溃和核心转储中的函数参数之间的差异

核心转储文件出现然后消失

如何启用程序在Linux上转储核心?

如何更改特定应用程序的核心模式?

如何在GDB中打印最后收到的信号?

核心文件大小限制对进程有非确定性的影响

在Linux上的gdb中加载核心文件时,如何预先加载目录库path

linux limits.conf不工作?

如何从核心转储中提取EBP和ESP?

这被称为指针胶水 ,用于通过PowerPC上的指针调用函数。 因为指针可能指向另一个模块/共享对象中的函数,所以需要使用指针粘合来为该模块设置正确的RTOC和环境指针,然后跳转函数入口点。 如果函数指针是无效的,那么它可能会崩溃在指针胶水,因为这是指针实际解除引用的地方。

如果您对完整的细节感兴趣,请参阅“ PowerPC编译器编写指南”的 A.3.3节。

ptrgl_64._ptrgl()在0x900000084da0e48

dfile_Proc(o_record = 0x0000000400000004,

fileType =“^ O 377 377 377 377 377TH O 377 377 377 377 377 377 377 377 377 377T}”,

dist_dest =(nil),indicator =' 0',i_acCounters =(nil)),在“disTfile.c”中的第621行

main(i_argc = 4,i_argv = 0x0fffffffffff34e8),“main_EXEC.c”中的第66行

看看disTfile.c的第621行。

这条线是干什么的?

它是通过函数指针调用一个函数吗?

621行可能导致什么样的问题?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐