質問編集履歴

2

「試してみたこと」に追記。さらにパケットが送られるとprint"finish!\n"が実行される。

2022/09/02 05:45

投稿

TAKE147
TAKE147

スコア20

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

「試してみたこと」項目追加。ステップ実行の結果を追加。

2022/09/02 04:50

投稿

TAKE147
TAKE147

スコア20

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
-