/
perldebug.pod
2854 lines (1868 loc) · 75.4 KB
/
perldebug.pod
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
=encoding euc-jp
=head1 NAME
X<debug> X<debugger>
=begin original
perldebug - Perl debugging
=end original
perldebug - Perl のデバッグ
=head1 DESCRIPTION
=begin original
First of all, have you tried using L<C<use strict;>|strict> and
L<C<use warnings;>|warnings>?
=end original
まず最初に、もう L<C<use strict;>|strict> と L<C<use warnings;>|warnings> は
使ってみましたか?
=begin original
If you're new to the Perl debugger, you may prefer to read
L<perldebtut>, which is a tutorial introduction to the debugger.
=end original
もし Perl デバッガに慣れていないなら、デバッガに関するチュートリアルである
L<perldebtut> を読んだ方がいいかもしれません。
=begin original
If you're looking for the nitty gritty details of how the debugger is
I<implemented>, you may prefer to read L<perldebguts>.
=end original
デバッガがどのように I<実装されているか> に関する詳細を探している場合は、
L<perldebguts> を読んだ方が良いでしょう。
=head1 The Perl Debugger
=begin original
If you invoke Perl with the B<-d> switch, your script runs under the
Perl source debugger. This works like an interactive Perl
environment, prompting for debugger commands that let you examine
source code, set breakpoints, get stack backtraces, change the values of
variables, etc. This is so convenient that you often fire up
the debugger all by itself just to test out Perl constructs
interactively to see what they do. For example:
X<-d>
=end original
Perl を B<-d> スイッチを付けて起動すれば、スクリプトは Perl ソースデバッガ
上で実行されることになります。
これは対話的な Perl 環境のように動作し、
ソースコードの表示、ブレークポイントの設定、スタックのバックトレース、
変数の値の変更、などを実行するデバッガコマンドを入力できます。
これはとても便利なので、単にやりたいことを対話的に試すために
デバッガを起動するようになるでしょう。
例えば:
X<-d>
$ perl -d -e 42
=begin original
In Perl, the debugger is not a separate program the way it usually is in the
typical compiled environment. Instead, the B<-d> flag tells the compiler
to insert source information into the parse trees it's about to hand off
to the interpreter. That means your code must first compile correctly
for the debugger to work on it. Then when the interpreter starts up, it
preloads a special Perl library file containing the debugger.
=end original
しかし、Perl デバッガは典型的なコンパイルされた環境の様に独立した
プログラムではありません。 その代わりに、
-d フラグによって、コンパイラがインタプリタに渡すパース木にソース情報を
埋め込むようにしています。これは、ソースがデバッガ上で動作できるためには、
一度正常にコンパイルできないといけないということです。
それからインタプリタが起動され、デバッガを含む
特別な Perl ライブラリをロードします。
=begin original
The program will halt I<right before> the first run-time executable
statement (but see below regarding compile-time statements) and ask you
to enter a debugger command. Contrary to popular expectations, whenever
the debugger halts and shows you a line of code, it always displays the
line it's I<about> to execute, rather than the one it has just executed.
=end original
プログラムは、最初の実行時実行文のI<直前>で停止し
(ただし、以下コンパイル時実行文については後述します)、以下に示すいずれかの
コマンドが入力されるのを待ちます。
よくある期待とは逆に、
デバッガが停止してある行のコードを表示しているときは、
直前に実行した行ではなく、常にI<今から実行する>行を表示します。
=begin original
Any command not recognized by the debugger is directly executed
(C<eval>'d) as Perl code in the current package. (The debugger
uses the DB package for keeping its own state information.)
=end original
デバッガが認識できないコマンドは現在のパッケージ内で Perl のコードとして
実行(C<eval>)されます。
(デバッガは自分自身の状態を保存するために DB パッケージを使います。)
=begin original
Note that the said C<eval> is bound by an implicit scope. As a
result any newly introduced lexical variable or any modified
capture buffer content is lost after the eval. The debugger is a
nice environment to learn Perl, but if you interactively experiment using
material which should be in the same scope, stuff it in one line.
=end original
C<eval> は暗黙のスコープで区切られていることに注意してください。
結果として、新しく導入されたレキシカル変数や変更された捕捉バッファの内容は
eval の後失われます。
デバッガは Perl を学ぶよい環境ですが、もし同じスコープ内であるべき
ものを使って対話的に実験したい場合は、それを 1 行に書いてください。
=begin original
For any text entered at the debugger prompt, leading and trailing whitespace
is first stripped before further processing. If a debugger command
coincides with some function in your own program, merely precede the
function with something that doesn't look like a debugger command, such
as a leading C<;> or perhaps a C<+>, or by wrapping it with parentheses
or braces.
=end original
デバッガコマンドとして入力された文字列は、まず先頭と末尾の
空白が切り詰められます。
デバッガコマンドがプログラムの関数名と一致する場合、
関数名の前に C<;> や C<+> のような、デバッガコマンドに見えない文字を
付け加えるか、括弧でくくってください。
=head2 Calling the Debugger
(デバッガを呼び出す)
=begin original
There are several ways to call the debugger:
=end original
デバッガを呼び出すにはいくつかの方法があります:
=over 4
=item perl -d program_name
=begin original
On the given program identified by C<program_name>.
=end original
C<program_name> で識別されるプログラムに対して。
=item perl -d -e 0
=begin original
Interactively supply an arbitrary C<expression> using C<-e>.
=end original
C<-e> を使って指定された任意の C<expression> を対話的に。
=item perl -d:ptkdb program_name
=begin original
Debug a given program via the C<Devel::ptkdb> GUI.
=end original
C<Devel::Ptkdb> GUI 経由で与えられたプログラムをデバッグする。
=item perl -dt threaded_program_name
=begin original
Debug a given program using threads (experimental).
=end original
スレッドを使っているプログラムをデバッグする(実験的機能)。
=back
=head2 Debugger Commands
(デバッガコマンド)
=begin original
The interactive debugger understands the following commands:
=end original
対話式のデバッガは以下のコマンドを理解します:
=over 12
=item h
X<debugger command, h>
=begin original
Prints out a summary help message
=end original
サマリヘルプメッセージを表示します。
=item h [command]
=begin original
Prints out a help message for the given debugger command.
=end original
指定されたコマンドの説明を表示します。
=item h h
=begin original
The special argument of C<h h> produces the entire help page, which is quite long.
=end original
C<h h> という特別なコマンドは、かなり長い、ヘルプ全体を表示します。
=begin original
If the output of the C<h h> command (or any command, for that matter) scrolls
past your screen, precede the command with a leading pipe symbol so
that it's run through your pager, as in
=end original
C<h h> コマンド(や他のコマンドでも)の出力で画面がスクロールしてしまう場合、
以下のようにコマンドの前にパイプ記号をつけるとページャーを呼び出します:
DB> |h h
=begin original
You may change the pager which is used via C<o pager=...> command.
=end original
使用されるページャーは C<O pager=...> コマンドで変更できます。
=item p expr
X<debugger command, p>
=begin original
Same as C<print {$DB::OUT} expr> in the current package. In particular,
because this is just Perl's own C<print> function, this means that nested
data structures and objects are not dumped, unlike with the C<x> command.
=end original
現在のパッケージでの C<print {$DB::OUT} expr> と同じです。
特に、これは Perl 自身の C<print> 関数なので、
C<x> コマンドと違って、ネストしたデータ構造やオブジェクトはダンプしません。
=begin original
The C<DB::OUT> filehandle is opened to F</dev/tty>, regardless of
where STDOUT may be redirected to.
=end original
STDOUT がどこにリダイレクトされていても、
ファイルハンドル C<DB::OUT> は F</dev/tty> に対して
オープンされています。
=item x [maxdepth] expr
X<debugger command, x>
=begin original
Evaluates its expression in list context and dumps out the result in a
pretty-printed fashion. Nested data structures are printed out
recursively, unlike the real C<print> function in Perl. When dumping
hashes, you'll probably prefer 'x \%h' rather than 'x %h'.
See L<Dumpvalue> if you'd like to do this yourself.
=end original
式をリストコンテキストで評価し、結果を多少読みやすい形で表示します。
ネストしたデータは再帰的に表示します; これは Perl の実際の C<print> 関数とは
異なります。
ハッシュをダンプするとき、おそらく 'x %h' より 'x \%h' を好むでしょう。
これを自分自身で行いたい場合は L<Dumpvalue> を参照して下さい。
=begin original
The output format is governed by multiple options described under
L</"Configurable Options">.
=end original
出力フォーマットは L<"/Configurable Options"> に記された
様々なオプションの影響を受けます。
=begin original
If the C<maxdepth> is included, it must be a numeral I<N>; the value is
dumped only I<N> levels deep, as if the C<dumpDepth> option had been
temporarily set to I<N>.
=end original
C<maxdepth> が指定されている場合、それは数値 I<N> でなければなりません;
C<dumpDepth> オプションが一時的に I<N> に設定されたかのように、
値は I<N> レベルの深さでだけダンプされます。
=item V [pkg [vars]]
X<debugger command, V>
=begin original
Display all (or some) variables in package (defaulting to C<main>)
using a data pretty-printer (hashes show their keys and values so
you see what's what, control characters are made printable, etc.).
Make sure you don't put the type specifier (like C<$>) there, just
the symbol names, like this:
=end original
package (デフォルトは C<main>) 内のすべて (または、一部) の
変数 (variable) をデータプリティプリンタを使って表示します
(ハッシュは何が何か解るように、key と value を表示し、
コントロール文字は表示できる形にします)。
以下に示すように、symbol は名前だけを示し、(C<$> などの) 型識別子を
付けないようにしてください:
V DB filename line
=begin original
Use C<~pattern> and C<!pattern> for positive and negative regexes.
=end original
正と逆の正規表現のためには C<~pattern> と C<!pattern> を使ってください。
=begin original
This is similar to calling the C<x> command on each applicable var.
=end original
これは有効な変数のそれぞれについて C<x> を呼び出すのと似ています。
=item X [vars]
X<debugger command, X>
=begin original
Same as C<V currentpackage [vars]>.
=end original
C<V 現在のパッケージ [vars]> と同じです。
=item y [level [vars]]
X<debugger command, y>
=begin original
Display all (or some) lexical variables (mnemonic: C<mY> variables)
in the current scope or I<level> scopes higher. You can limit the
variables that you see with I<vars> which works exactly as it does
for the C<V> and C<X> commands. Requires the C<PadWalker> module
version 0.08 or higher; will warn if this isn't installed. Output
is pretty-printed in the same style as for C<V> and the format is
controlled by the same options.
=end original
現在のスコープや、I<level> だけ高いスコープの全て(またはいくつか)の
レキシカル変数を表示します(記憶法: C<mY> 変数)。
C<V> や C<X> コマンドと全く同じように、I<vars> を制定することで
表示される変数を制限できます。
バージョン 0.08 以降の C<PadWalker> モジュールが必要です;
もしインストールされていなければ警告されます。
出力は C<V> コマンドと同じスタイルにフォーマットされ、
このフォーマットは同じオプションで制御されます。
=item T
X<debugger command, T> X<backtrace> X<stack, backtrace>
=begin original
Produce a stack backtrace. See below for details on its output.
=end original
スタックのバックトレースを行います。出力についての詳細は後述します。
=item s [expr]
X<debugger command, s> X<step>
=begin original
Single step. Executes until the beginning of another
statement, descending into subroutine calls. If an expression is
supplied that includes function calls, it too will be single-stepped.
=end original
シングルステップ実行します。
サブルーチンをたどりながら、別の実行文の先頭に到達するまで実行します。
関数呼び出しを含む式が与えられた場合、これもシングルステップ実行します。
=item n [expr]
X<debugger command, n>
=begin original
Next. Executes over subroutine calls, until the beginning
of the next statement. If an expression is supplied that includes
function calls, those functions will be executed with stops before
each statement.
=end original
ネクスト。次の実行文の先頭に到達するまで、サブルーチンにまたがって実行します。
関数呼び出しを含む式が与えられた場合、
各行毎に停止しながら関数を実行します。
=item r
X<debugger command, r>
=begin original
Continue until the return from the current subroutine.
Dump the return value if the C<PrintRet> option is set (default).
=end original
現在のサブルーチンから戻るまで実行します。
C<PrintRet> がセットされていれば(デフォルトではセットされています)
返り値をダンプします。
=item <CR>
=begin original
Repeat last C<n> or C<s> command.
=end original
最後の C<n> または C<s> を繰り返します。
=item c [line|sub]
X<debugger command, c>
=begin original
Continue, optionally inserting a one-time-only breakpoint
at the specified line or subroutine.
=end original
続きを実行します; オプションとして、1 回限りのブレークポイントを指定された
行またはサブルーチンに設定します。
=item l
X<debugger command, l>
=begin original
List next window of lines.
=end original
次の 1 画面分をリスト表示します。
=item l min+incr
=begin original
List C<incr+1> lines starting at C<min>.
=end original
C<min> から C<incr+1> 行をリスト表示します。
=item l min-max
=begin original
List lines C<min> through C<max>. C<l -> is synonymous to C<->.
=end original
C<min> 行から C<max> 行をリスト表示します。
C<l -> は C<-> と同じです。
=item l line
=begin original
List a single line.
=end original
指定行をリスト表示します。
=item l subname
=begin original
List first window of lines from subroutine. I<subname> may
be a variable that contains a code reference.
=end original
サブルーチンの最初の一画面分をリスト表示します。
I<subname> は コードリファレンスが入った変数でも構いません。
=item -
X<debugger command, ->
=begin original
List previous window of lines.
=end original
前の 1 画面分をリスト表示します。
=item v [line]
X<debugger command, v>
=begin original
View a few lines of code around the current line.
=end original
指定行付近の(数行のコードをリスト表示します。
=item .
X<debugger command, .>
=begin original
Return the internal debugger pointer to the line last
executed, and print out that line.
=end original
最後に実行した行への内部デバッガポインタを返し、
その行を表示します。
=item f filename
X<debugger command, f>
=begin original
Switch to viewing a different file or C<eval> statement. If I<filename>
is not a full pathname found in the values of %INC, it is considered
a regex.
=end original
異なるファイルまたは C<eval> 行に表示を切り替えます。
もし I<filename> が %INC にあるフルパス名でなければ、
正規表現として扱われます。
=begin original
C<eval>ed strings (when accessible) are considered to be filenames:
C<f (eval 7)> and C<f eval 7\b> access the body of the 7th C<eval>ed string
(in the order of execution). The bodies of the currently executed C<eval>
and of C<eval>ed strings that define subroutines are saved and thus
accessible.
=end original
C<eval> した文字列は(アクセス可能なら)ファイル名として扱われます:
C<f (eval 7)> と C<f eval 7\b> は (実行した順で) 7 番目に C<eval> した
文字列の中身にアクセスします。
現在実行した C<eval> の中身と、サブルーチンを定義する C<eval> した
中身は保存されるので、アクセス可能です。
=item /pattern/
=begin original
Search forwards for pattern (a Perl regex); final / is optional.
The search is case-insensitive by default.
=end original
pattern を用いて Perl 正規表現による前方検索を行います; 最後の / は
なくてもかまいません。
デフォルトでは検索は大文字小文字を区別しません。
=item ?pattern?
=begin original
Search backwards for pattern; final ? is optional.
The search is case-insensitive by default.
=end original
pattern を用いて後方検索を行います; 最後の ? はなくてもかまいません。
デフォルトでは検索は大文字小文字を区別しません。
=item L [abw]
X<debugger command, L>
=begin original
List (default all) actions, breakpoints and watch expressions
=end original
ブレークポイント、アクション、ウォッチ式を
(デフォルトは全て)リストアップします。
=item S [[!]regex]
X<debugger command, S>
=begin original
List subroutine names [not] matching the regex.
=end original
regex に一致する(または一致しない)サブルーチン名をリストアップします。
=item t [n]
X<debugger command, t>
=begin original
Toggle trace mode (see also the C<AutoTrace> option).
Optional argument is the maximum number of levels to trace below
the current one; anything deeper than that will be silent.
=end original
トレースモードの on/off を切り替えます (C<AutoTrace> オプションも
参照して下さい)。
オプションの引数は現在のもの以下でトレースする最大レベル数です;
これよりも深いものは沈黙します。
=item t [n] expr
X<debugger command, t>
=begin original
Trace through execution of C<expr>.
Optional first argument is the maximum number of levels to trace below
the current one; anything deeper than that will be silent.
See L<perldebguts/"Frame Listing Output Examples"> for examples.
=end original
C<expr> の実行をトレースします。
オプションの引数は現在のもの以下でトレースする最大レベル数です;
これよりも深いものは沈黙します。
例については L<perldebguts/"Frame Listing Output Examples"> を
参照して下さい。
=item b
X<breakpoint>
X<debugger command, b>
=begin original
Sets breakpoint on current line
=end original
現在の位置にブレークポイントを設定します。
=item b [line] [condition]
X<breakpoint>
X<debugger command, b>
=begin original
Set a breakpoint before the given line. If a condition
is specified, it's evaluated each time the statement is reached: a
breakpoint is taken only if the condition is true. Breakpoints may
only be set on lines that begin an executable statement. Conditions
don't use C<if>:
=end original
与えられた行の直前にブレークポイントを設定します。
condition が指定されると、その文にさしかかる度に評価されます: condition が
真となったときにだけブレークポイントが働きます。
ブレークポイントは、実行可能な文で始まる行にだけ、設定できます。
condition には C<if> を使いません:
b 237 $x > 30
b 237 ++$count237 < 11
b 33 /pattern/i
=begin original
If the line number is C<.>, sets a breakpoint on the current line:
=end original
行番号が C<.> なら、現在行にブレークポイントを設定します:
b . $n > 100
=item b [file]:[line] [condition]
X<breakpoint>
X<debugger command, b>
=begin original
Set a breakpoint before the given line in a (possibly different) file. If a
condition is specified, it's evaluated each time the statement is reached: a
breakpoint is taken only if the condition is true. Breakpoints may only be set
on lines that begin an executable statement. Conditions don't use C<if>:
=end original
ブレークポイントを(おそらくは異なった)ファイルの指定された行に設定します。
condition が指定されると、その文にさしかかる度に評価されます: condition が
真となったときにだけブレークポイントが働きます。
ブレークポイントは、実行可能な文で始まる行にだけ、設定できます。
condition には C<if> を使いません:
b lib/MyModule.pm:237 $x > 30
b /usr/lib/perl5/site_perl/CGI.pm:100 ++$count100 < 11
=item b subname [condition]
X<breakpoint>
X<debugger command, b>
=begin original
Set a breakpoint before the first line of the named subroutine. I<subname> may
be a variable containing a code reference (in this case I<condition>
is not supported).
=end original
サブルーチンの最初の実行可能文にブレークポイントを設定します。
I<subname> は コードリファレンスが入った変数でも構いません
(この場合は I<condition> は非対応です)。
=item b postpone subname [condition]
X<breakpoint>
X<debugger command, b>
=begin original
Set a breakpoint at first line of subroutine after it is compiled.
=end original
コンパイル後、サブルーチンの最初の行にブレークポイントをセットします。
=item b load filename
X<breakpoint>
X<debugger command, b>
=begin original
Set a breakpoint before the first executed line of the I<filename>,
which should be a full pathname found amongst the %INC values.
=end original
I<filename> の最初に実行される行の手前にブレークポイントをセットします;
これは %INC の値に含まれるフルパス名であるべきです。
=item b compile subname
X<breakpoint>
X<debugger command, b>
=begin original
Sets a breakpoint before the first statement executed after the specified
subroutine is compiled.
=end original
指定されたサブルーチンがコンパイルされた後、最初に実行される文の手前に
ブレークポイントをセットします。
=item B line
X<breakpoint>
X<debugger command, B>
=begin original
Delete a breakpoint from the specified I<line>.
=end original
I<line> で指定されたブレークポイントを削除します。
=item B *
X<breakpoint>
X<debugger command, B>
=begin original
Delete all installed breakpoints.
=end original
すべてのブレークポイントを削除します。
=item disable [file]:[line]
X<breakpoint>
X<debugger command, disable>
X<disable>
=begin original
Disable the breakpoint so it won't stop the execution of the program.
Breakpoints are enabled by default and can be re-enabled using the C<enable>
command.
=end original
ブレークポイントを向こうにして、プログラムの実行を止めないようにします。
ブレークポイントはデフォルトで有効で、C<enable> コマンドを使って
再有効化できます。
=item disable [line]
X<breakpoint>
X<debugger command, disable>
X<disable>
=begin original
Disable the breakpoint so it won't stop the execution of the program.
Breakpoints are enabled by default and can be re-enabled using the C<enable>
command.
=end original
ブレークポイントを向こうにして、プログラムの実行を止めないようにします。
ブレークポイントはデフォルトで有効で、C<enable> コマンドを使って
再有効化できます。
=begin original
This is done for a breakpoint in the current file.
=end original
これは現在のファイルのブレークポイントに対して行われます。
=item enable [file]:[line]
X<breakpoint>
X<debugger command, disable>
X<disable>
=begin original
Enable the breakpoint so it will stop the execution of the program.
=end original
ブレークポイントを有効にして、プログラムの実行を止めるようにします。
=item enable [line]
X<breakpoint>
X<debugger command, disable>
X<disable>
=begin original
Enable the breakpoint so it will stop the execution of the program.
=end original
ブレークポイントを有効にして、プログラムの実行を止めるようにします。
=begin original
This is done for a breakpoint in the current file.
=end original
これは現在のファイルのブレークポイントに対して行われます。
=item a [line] command
X<debugger command, a>
=begin original
Set an action to be done before the line is executed. If I<line> is
omitted, set an action on the line about to be executed.
The sequence of steps taken by the debugger is
=end original
その行を実行する前に行うアクションを設定します。
I<line> が省略されると、いままさに実行しようとしていた行に
アクションを設定します。
デバッガが実行する処理の順番は以下の通りです。
=begin original
1. check for a breakpoint at this line
2. print the line if necessary (tracing)
3. do any actions associated with that line
4. prompt user if at a breakpoint or in single-step
5. evaluate line
=end original
1. この行のブレークポイントをチェックします
2. 必要なら行を表示します(トレース)
3. この行に結び付けられたアクションを実行します
4. ブレークポイントやシングルステップの場合はユーザーに確認します
5. 行を評価します
=begin original
For example, this will print out $foo every time line
53 is passed:
=end original
例えば、以下のコードは 53 行を通過する毎に $foo を表示します。
a 53 print "DB FOUND $foo\n"
=item A line
X<debugger command, A>
=begin original
Delete an action from the specified line.
=end original
指定された行に設定されたアクションを削除します。
=item A *
X<debugger command, A>
=begin original
Delete all installed actions.
=end original
設定されたすべてのアクションを削除します。
=item w expr
X<debugger command, w>
=begin original
Add a global watch-expression. Whenever a watched global changes the
debugger will stop and display the old and new values.
=end original
グローバルなウォッチ式を追加します。
グローバルな変更が行われたときは、デバッガは停止して新旧の値を表示します。
=item W expr