NAME
Quiq::Debug - Hilfe beim Debuggen von Programmen
BASE CLASS
METHODS
Datenstrukturen
dump() - Liefere Datenstruktur in lesbarer Form
Synopsis
$str = $this->dump($ref,@opt);
Arguments
- $ref
-
Referenz auf eine Datenstruktur.
- @opt
-
Optionen der Funktion np() des Moduls Data::Printer. Dokumentation siehe dort.
Description
Liefere eine Perl-Datenstruktur beliebiger Tiefe in lesbarer Form als Zeichenkette, so dass sie zu Debugzwecken ausgegeben werden kann. Die Methode nutzt das Modul Data::Printer und davon die Funktion np(). Die Optionen @opt werden an diese Funktion weiter geleitet.
Example
Quiq::Debug->dump($obj,colored=>1))
Module
modulePaths() - Pfade der geladenen Perl Moduldateien
Synopsis
$str = $this->modulePaths;
Description
Liefere eine Aufstellung der Pfade der aktuell geladenen Perl Moduldateien. Ein Modulpfad pro Zeile, alphabetisch sortiert.
Example
Die aktuell geladenen Moduldateien auf STDOUT ausgeben:
print Quiq::Debug->modulePaths;
==>
/home/fs/lib/perl5/Quiq/Debug.pm
/home/fs/lib/perl5/Quiq/Object.pm
/home/fs/lib/perl5/Perl/Quiq/Stacktrace.pm
/usr/share/perl/5.20/base.pm
/usr/share/perl/5.20/strict.pm
/usr/share/perl/5.20/vars.pm
/usr/share/perl/5.20/warnings.pm
/usr/share/perl/5.20/warnings/register.pm
Subroutines
findSubroutine() - Suche Subroutine
Synopsis
@arr | $str = $this->findSubroutine($pattern);
Description
Suche die Subroutines, die den Pattern $pattern erfüllen, in den Moduldateien (.pm) entlang der Pfade in @INC. Im Array-Kontext liefere die Liste der Modulnamen, im Skalarkontext die Liste als Zeichenkette (ein Modulpfad pro Zeile).
Example
ANPASSEN
Die aktuell geladenen Moduldateien auf STDOUT ausgeben:
print Quiq::Debug->findSubroutine;
==>
/home/fs/lib/perl5/Quiq/Debug.pm
/home/fs/lib/perl5/Quiq/Object.pm
/home/fs/lib/perl5/Perl/Quiq/Stacktrace.pm
/usr/share/perl/5.20/base.pm
/usr/share/perl/5.20/strict.pm
/usr/share/perl/5.20/vars.pm
/usr/share/perl/5.20/warnings.pm
/usr/share/perl/5.20/warnings/register.pm
VERSION
1.221
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2024 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.