gpt4 book ai didi

perl - 如何获得 Perl 中的调用堆栈列表?

转载 作者:行者123 更新时间:2023-12-03 05:40:15 32 4
gpt4 key购买 nike

有没有办法可以访问(用于打印输出)Perl 脚本中当前位置之前的任意深度的子调用模块列表?

我需要对一些 Perl 模块 (.pm) 进行更改。工作流程是通过 cgi 脚本从网页启动的,通过几个模块/对象传递输入,最后到我需要使用数据的模块。沿线的某个地方数据发生了变化,我需要找出哪里。

最佳答案

您可以使用Devel::StackTrace .

use Devel::StackTrace;
my $trace = Devel::StackTrace->new;
print $trace->as_string; # like carp

它的行为类似于 Carp 的轨迹,但您可以更好地控制帧。

一个问题是引用是字符串化的,如果引用的值发生更改,您将看不到它。但是,您可以使用 PadWalker 来制作一些东西。打印出完整的数据(虽然它会很大)。

关于perl - 如何获得 Perl 中的调用堆栈列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/229009/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com