Thread Breakpoints ? (2 answers)
Opened by ludwigklr at 2021-05-27 12:01

haj
 2021-05-27 14:49
#193308 #193308
User since
2015-01-07
435 articles
BenutzerIn

user image
Da gibt's zwei Möglichkeiten, beschrieben in Perldoc:perldebug:

Mit einer Datei .perldb:

Diese Datei liest der Debugger beim Startup. In der kann man eine Routine afterinit deklarieren, die ein paar Kommandos gleich nach dem Starten ausführt (beschrieben im Abschnitt "Debugger Customization"):
Code (perl): (dl )
sub afterinit { push @DB::typeahead, 'b 123 $zeile eq "test"'; }
Da steht allerdings auch, dass das keine garantierte Schnittstelle des Debuggers ist, das kann in späteren Versionen wieder verschwinden.

Im zu testenden Perl-Code selbst:

Wenn Perl mit -d gestartet wurde, dann hält der Code an, wenn die Variable $DB::single gesetzt ist. Zum Beispiel so:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
use 5.020;

my $zeile = 'toast';

$DB::single = $zeile eq 'test';

say "Los geht's!";

$zeile = 'test';

$DB::single = $zeile eq 'test';

say "Und weiter geht's...";

Wenn das mit perl -d gestartet wird und dann nach Eingabe von c losläuft, dann hält es nach der Ausabe von Los geht's! an.

View full thread Breakpoints ?