質問編集履歴
2
「試してみたこと」に追記。さらにパケットが送られるとprint"finish!\n"が実行される。
test
CHANGED
File without changes
|
test
CHANGED
@@ -72,7 +72,7 @@
|
|
72
72
|
close (PKT);
|
73
73
|
print"finish!\n";
|
74
74
|
```
|
75
|
-
###試してみたこと
|
75
|
+
### 試してみたこと
|
76
76
|
デバッグにてステップ実行を行いました。
|
77
77
|
```
|
78
78
|
($count=9までは省略)
|
@@ -100,7 +100,12 @@
|
|
100
100
|
main::(./trash.pl:34): close (PKT);
|
101
101
|
DB<1> s
|
102
102
|
s
|
103
|
-
|
103
|
+
-----------------------------------------------
|
104
|
+
(ここで何も起きなくなるが、この状態の時にパケットを送ると)
|
105
|
+
-----------------------------------------------
|
106
|
+
tcpdump: Unable to write output: Broken pipe
|
107
|
+
main::(./trash.pl:39): print"finish!\n";
|
108
|
+
DB<1> finish!
|
104
109
|
```
|
105
110
|
|
106
111
|
|
1
「試してみたこと」項目追加。ステップ実行の結果を追加。
test
CHANGED
File without changes
|
test
CHANGED
@@ -72,6 +72,35 @@
|
|
72
72
|
close (PKT);
|
73
73
|
print"finish!\n";
|
74
74
|
```
|
75
|
+
###試してみたこと
|
76
|
+
デバッグにてステップ実行を行いました。
|
77
|
+
```
|
78
|
+
($count=9までは省略)
|
79
|
+
---------------------------------------------
|
80
|
+
main::(./trash.pl:16): print "\n";
|
81
|
+
DB<1> s
|
82
|
+
|
83
|
+
main::(./trash.pl:19): if(/^(\d+)\.(\d+).*> \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}.(\d+).*(Flags \[S\.?\]).*seq (\d+)/) {
|
84
|
+
DB<1> s
|
85
|
+
main::(./trash.pl:23): print "Flag[F]!!\n";
|
86
|
+
DB<1> s
|
87
|
+
Flag[F]!!
|
88
|
+
main::(./trash.pl:24): $count++;
|
89
|
+
DB<1> s
|
90
|
+
main::(./trash.pl:25): print "\$count = $count\n";
|
91
|
+
DB<1> s
|
92
|
+
$count = 10
|
93
|
+
main::(./trash.pl:28): if ($count == $n){
|
94
|
+
DB<1> s
|
95
|
+
main::(./trash.pl:29): print "\$count=\$n!\n";
|
96
|
+
DB<1> s
|
97
|
+
$count=$n!
|
98
|
+
main::(./trash.pl:30): last;
|
99
|
+
DB<1> s
|
100
|
+
main::(./trash.pl:34): close (PKT);
|
101
|
+
DB<1> s
|
102
|
+
s
|
103
|
+
|
104
|
+
```
|
75
105
|
|
76
106
|
|
77
|
-
|