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

yog*_*haj 7 c c++ perl

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

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

如果有人发现这个问题,请告诉我.任何找到根本原因的指针都会非常有用.

San*_*pal -1

如果您的程序尝试访问不在程序地址空间中的内存位置,则这是可能的。

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

检查你的代码。