Perl 5.12.3 C/ c++代码在PUSHMARK(SP)中崩溃在Solaris 5.9上出现分段错误



我有一个C/c++代码,它使用perlcall调用perl脚本,并与perl 5.8.90版本一起工作。由于5.8.90中的一些内存泄漏/堆损坏,我们计划使用5.12.3,最新版本的perl。

使用libperl。在5.12.3版本中,我们的程序在调用"PUSHMARK(SP)"时崩溃;我试图在dbx中调试,但只能得到以下信息t@32 (l@32)被信号SEGV终止(在故障地址没有映射)

如果有人遇到这个问题,请告诉我。

根据我的研究,我要关闭这个帖子。

yth -谢谢你的信息。实际上,在构建二进制文件时,我并没有将5.12.3中的新头文件复制到正确的路径。使用新的头文件后,问题解决了。

如果您的程序试图访问不在程序地址空间中的内存位置,

访问的内存要么属于操作系统,要么属于其他进程。

检查你的代码

最新更新