Команда значения дампа: C для отладчика perl.
Чтобы полностью вывести все выражение, используйте команду x, которая полностью выгрузит
заданное значение:
DB‹13› x @x
0 'первая'
1 'вторая'
2 'третья'
3 'четвертая'
4 'пятая'
БД‹14›
Это лучше, но все еще немного неуклюже, x лучше использовать, давая
ссылку на переменную, тогда это будет выгружено с правильным
отступом, предлагая гораздо больше ясность:
DB‹14› x \@x
0 ARRAY(0x83560d0)
0 'первый'
1 'второй'
2 'третий'
3 'четвертый'< br /> 4 'пятая'
DB‹15›
Конечно, то же самое можно сделать с многоуровневыми структурами данных или объектами
, когда вы действительно можете увидеть, из чего состоит сложная переменная
, и именно здесь отступы действительно становятся полезными.
Сначала нам нужно создать нашу переменную:
DB‹15› %x = (\
cont: 'this' =› 'that',\
cont: 'chars'=› { 'vowels' =› qw(aeiou), 'others' =› qw(sqwrk) },\
cont: 'obj' =› bless({'_member' =› 'variable', '_context' =› 'init'}, 'Class'),\
продолжение: )
БД‹16›
Мы также включим самореферентную ссылку:
БД‹16› $x{‘self ref’} = \%x
БД‹17›
Теперь, когда мы выгружаем это, все становится намного более очевидным. Обратите особое внимание
на повторно используемую ссылку на память, обозначенную шестнадцатеричным
числом: 0x83ca658.
DB‹17› x \%x
0 HASH(0x83a50f0)
'chars' => HASH(0x83ca658)
'e' =› 'i'
'o' = › 'u'
'другие' =› 's'
'q' =› 'w'
'r' =› 'k'
'гласные' =› ' a'
'obj' =› Class=HASH(0x83ca838)
'_context' =› 'init'
'_member' =› 'variable'
'self ref' = › HASH(0x83a50f0)
-› REUSED_ADDRESS
'этот' => 'тот'
DB‹18›
Хотя этот дамп переменных очень похож на дамп, создаваемый Data::Dumper,
на самом деле он создается базовой библиотекой, называемой dumpvar.pl.
Вы можете прочитать больше в книге Pro-Perl-Debugging.
Первоначально опубликовано 2016–05–12 12:05:03.
Пост The Dump-Value Command: C впервые появился на RFI Publishing.
Первоначально опубликовано на Wordpress