【发布时间】:2011-07-27 17:34:26
【问题描述】:
我有一个 C/C++ 代码,它使用 perlcall 来调用 perl 脚本,并且正在使用 5.8.90 的 Perl 版本。由于 5.8.90 中的一些内存泄漏/堆损坏,我们计划使用最新版本的 perl 5.12.3。
在使用 5.12.3 版本的 libperl.so 时,我们的程序在调用“PUSHMARK(SP);”时崩溃了 我试图在 dbx 中调试,但只能得到以下信息 t@32 (l@32) 由信号 SEGV 终止(在故障地址处没有映射)
如果有人遇到此问题,请告诉我。任何找到根本原因的指针都会非常有帮助。
【问题讨论】:
-
你能提供一个最小的 Sn-p 的 C/perl 代码来演示这个问题吗?另外,大概一周左右,5.14.0 将成为 perl 的最新版本。
-
Ysth - 感谢您提供的信息。实际上,在构建我的二进制文件时,我没有将新的头文件从 5.12.3 复制到正确的路径。使用新的头文件后,问题解决了。
-
你能把它标记为已解决吗?
-
@yogishaj,您应该接受您发布的答案,以免问题显示为未解决。