如何从特定行开始调试perl程序?
环境:Linux CentOS 7@HPC 界面:命令界面,无GUI 我的PERL脚本有一个逻辑错误。它不会在“foreach”循环中通过。我使用下面的调试器命令:如何从特定行开始调试perl程序?,perl,debugging,foreach,Perl,Debugging,Foreach,环境:Linux CentOS 7@HPC 界面:命令界面,无GUI 我的PERL脚本有一个逻辑错误。它不会在“foreach”循环中通过。我使用下面的调试器命令: perl -d /scripts_location/perlscripts.pl 然而,它是一步一步地运行的。我的脚本有近千行。以下是我的问题: 如何从特定行调试脚本 如何确定循环无法运行?为什么循环不能运行 是否有任何资源可以在整个过程中展示调试器技能 我在网上搜索。他们中的大多数人解释命令。但是很少有人从一开始就介绍调试。
perl -d /scripts_location/perlscripts.pl
然而,它是一步一步地运行的。我的脚本有近千行。以下是我的问题:
c 124
x @values
如果循环类似于foreach my$value(@values)
。它可能会告诉你
empty array
要了解阵列为何为emtpy,可以尝试“监视”阵列
w @values
然后使用r
运行脚本。一旦任何监视的值发生变化,它将停止h
查看帮助你能不能在那一行放一个断点,然后点击
c
继续执行直到到达断点?谢谢你的建议。我不熟悉调试器。我可以试试。您也可以在代码中的任意点设置$DB::single=1
,甚至在模块内部或编译时内部(例如BEGIN{…}
块内部)设置断点。