我正在使用带有 EPIC 插件的 Linux Ubuntu 上运行的 Eclipse GALILEO 来运行/调试 Perl 代码,并且在调试时遇到了一些问题。通常,当我进行逐步调试并遇到使用某个 Perl 模块的行时,我单击“Step Into”,然后正在查看模块文件,并且调试箭头也迁移到那里。现在似乎有些模块不遵循这种情况。相反,当我单击“Step Into”时,运行过程正在后台某处进行。我的意思是我可以按“Step Over”,我会看到正在执行的代码的结果,但我看不到文件本身也看不到箭头。
为了更清楚一点,请参考以下代码:
.
.
if (defined($sysname) && $sysname)
{
$sys_manager->setup_from_name($sysname);
$pf_manager->setup_from_name($sysname);
} else {
die "You must give either a --system parameter or an alias name.";
}
}
.
.
从开始到上面显示的部分的代码可以在这里找到
我执行逐步调试,直到到达$sys_manager->setup_from_name($sysname);
线路。当我到达它时,我点击“Step Into”按钮(而不是“Step Over”)。然后我希望在 Eclipse 中再打开一个窗口,它将视图切换到setup_from_name
存在此方法的模块。但是,正如我之前提到的,“调试箭头”消失了。在这个阶段,如果我点击“Step Over”按钮,运行会在后台某处继续(我可以看到变量正在被修改)。如果我单击“Step Return”,箭头会再次出现并继续通过可见代码。
我还想提一下,这些特定模块是按原样提供的,而不是使用 CPAN 安装的。相对于使用它们的代码的包位置如下:
folder A/ #General folder
folder B/ #Where the scripts which use the above mentioned modules are located
folder C/ #Where the modules are located
我希望我的问题足够清楚,但如果不是,请发表评论,我会澄清。
更新 我已启用 EPIC“调试器控制台(实验性)”,并且在调试过程中到达有问题的模块时似乎出现错误。不幸的是,我无法阅读和理解这个调试器数据。该错误是一条很长的消息,部分粘贴在下面:
S00000003$^AS00000002''NS00000003$^DS000000010NS00000003$^ES0000001b'No such file or directory'NS00000003$^FS000000012NS00000003$^HS00000003256NS00000003$^LS00000003
完整的错误消息可通过此链接获得
也许这会溢出一些光..
更新 2 有人建议我验证相关模块路径是否存在于 Eclipse 项目属性的“Perl 包含路径”中。不幸的是,我已经这样做了,没有任何变化。