如何在vscode中查看PerlDebug中的hashmap变量?
我正在vscode中使用PerlDebug进行远程调试。我跑如何在vscode中查看PerlDebug中的hashmap变量?,perl,debugging,visual-studio-code,hashmap,watch,Perl,Debugging,Visual Studio Code,Hashmap,Watch,我正在vscode中使用PerlDebug进行远程调试。我跑 PERLDB_OPTS="RemotePort=localmachine:5000 perl -d myscript.pl 在“remotemachine”上,我在“localmachine”上运行了vscode PerlDebug,并且能够跨越脚本行 但是现在如何观察变量呢?在所附示例中,我可以查看一些变量,如part1、part2和value,但我无法查看$events,可能是因为它是一个hashmap 它在变量窗格
PERLDB_OPTS="RemotePort=localmachine:5000 perl -d myscript.pl
在“remotemachine”上,我在“localmachine”上运行了vscode PerlDebug,并且能够跨越脚本行
但是现在如何观察变量呢?在所附示例中,我可以查看一些变量,如part1
、part2
和value
,但我无法查看$events
,可能是因为它是一个hashmap
它在变量
窗格中也不显示任何内容
是否可以在此处查看hashmap变量?不要为watch表达式输入
$events
,请尝试输入%events
。然后扩展将理解它是一个哈希映射,而不是一个标量变量
注意:当我测试这个时,我无法在监视
面板中显示数组和哈希引用。因此,如果$h
是散列引用,则将%$h
添加为监视表达式将不起作用(它不会显示嵌套值)。但是,我通过向$h
声明一个别名来解决这个问题,如下所示:
use v5.26;
use feature qw(declared_refs refaliasing);
my \%hh = \%$h;
然后观看
%hh
而不是%$h
。这也适用于数组引用。很抱歉,根据扩展的定义是-d
:“TODO:监视变量还不能创建实际的表达式观察器-需要更多API来实际维护要监视的表达式列表。”