加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

限制Perl调试器打印的信息量

发布时间:2020-12-15 23:35:41 所属栏目:大数据 来源:网络整理
导读:我调查Perl代码(在命令行debbugger,perl -d)中的一个问题是,错误地打印(通过x命令)大型数据结构的内容可以保证将终端冻结一整半,同时保持100秒打印数据页面.特别是如果这种情况发生在缓慢的网络中. 因此,我希望能够限制x打印的数据量. 我看到两种方法 – 如
我调查Perl代码(在命令行debbugger,perl -d)中的一个问题是,错误地打印(通过x命令)大型数据结构的内容可以保证将终端冻结一整半,同时保持100秒打印数据页面.特别是如果这种情况发生在缓慢的网络中.

因此,我希望能够限制x打印的数据量.

我看到两种方法 – 如果有人知道怎么做,我愿意尝试.

>限制调试器中任何单个命令的数据量.
>更好的是,以某种方式用自定义Perl方法替换内置的x命令(它将计算数据结构的“大小”,并拒绝打印其内容而无需确认).

我特别问“如何用自定义代码替换x” – 构建一个“足够好”的数据结构太大了“Perl方法是我可以自己做的事情而不需要太多努力,尽管我看到足够的陷阱阻止了”完美的“从一个相当令人沮丧的努力.哎呀,只是做Data :: Dumper->转储并获取字符串的长度可能会诀窍:)

请注意,我非常清楚如何通过递归检查数据结构层来手动避免这个问题(例如打印ref,打印键/数组元素的数量等等)……整点都是我希望能够不假思索地轻易地输入x $huge_pile_of_data – 或者绊倒将一大堆数据填充到应该是标量的错误中.

解决方法

|调试器中的命令将另一个命令的输出传送给你的寻呼机,例如

  DB<1> |x %huge_datastructure

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读