バグの兆候は、「データの中身がおかしい」「データが届いていない」「データが受信できない」などです。ただし、複数の機器にまたがるため、もう一歩先に進んで兆候を探すことが大事です。以下の手順でチェックしてください。
自動車が動かない場合、最も基本的なことからチェックするのが王道です。「ガソリンが入っている」「バッテリーは十分に充電されている」ことを確かめるのが第一歩です。
同様に、まずは、そもそもの機器の接続不良と設定不良を疑いましょう。意外に少なくありません。例えば、OSがWindowsの場合は、コマンドプロントを開き、「ipconfig」を実行すると、両者のIPアドレスを確認できます※1)。
※1)Linuxならば、「ifconfig」です。
次に、調べたIPアドレスを基に、「ping」コマンドを実行し、アンサーが返ってくるか確認しましょう。相手側のIPアドレスが、192.168.50.50の場合は、「ping 192.168.50.50」と入力します。アンサーが返ってこない場合は、通信経路が確立しているか(「LANケーブル」「ルーター」「ハブ」「ファイアウォール」)などが正しいか確認してください。
送信データが自分自身に届くことを確認しましょう(図3)。
図3には、ループバックのイメージ図を示しました。例えば、自分のPCに送信側と受信側のプログラムを作成し、データの送受信をします。また、受信側でデバッガを使えば、変数にデータが入っていることを直接確認できるでしょう。ここで「データが届かない」「おかしなデータを受信する」場合は、バグの原因は自分です。
「WireShark」などのパケットキャプチャーツールを用いて、「自分のデータが送信できているか」「相手側に届いているか」を確認しましょう(図4)。
例えば、クライアント側でWireSharkを起動し、データが送信できているか確認しましょう。送信できていない場合は、クライアント側のバグの可能性大です。
次に、サーバ側でWireSharkを起動し、クライアント側のデータが届いているか確認します。データが届いているのに受信できない場合は、サーバ側のバグの可能性大です。
データはサーバ側に届いているが正しいデータを受信できない場合は、デバッガで送信データと受信データを確認します。データが一致しない場合は、下記を疑いましょう。
データは正しく届くし、内容も正しいが、たまにおかしくなる場合は下記を疑いましょう。
この事象は見つけることが困難でしょうが、注意して確認しましょう。
Copyright © ITmedia, Inc. All Rights Reserved.