2017-07-28 8 views
0

私のプロジェクトにはCファイルがたくさんあります。 ここでは、ソケットプログラミングを使用してプロセスから処理するバッファを送信する必要があります。 sendシステムコールを使用してバッファを送信しようとしましたが、データ/バッファが処理されたにもかかわらずゼロを返しました。ソケットプログラミングをデバッグ/トレースする方法

wiresharkでは、パケットの着信と発信を確認できます。

実際に送信されるシステムコールは、送信されたバイト数を返しますが、ゼロを受信しました。それから私のプロセスから別のプロセスにどのように伝達されましたか?

誰かがこの問題で私を助けることができますか?どのようにデバッグ/理解する(関連する手順/ Linuxで別のプロセス受信呼び出しを送信した後に実行された呼び出し)を受信します。

少なくとも、ソケットプログラミングをデバッグするためのいくつかのツールと手順/手順が必要です。

+0

私は 'strace'(システムコールトレーサ)を提案します。 'send'システムコールと他のシステムコールをトレースします。 – ks1322

+0

サンプルプログラムを使用して少し詳しく説明できますか?送信プロセスからプロセスを受信する方法と、複数の受信者がある場合は受信者と言うことができます。@ ks1322 –

+0

すべてのプロセスを別々にトレースする必要があります。 (各受信機が複数の場合)。 – ks1322

答えて

1

ソケットプログラミングは他のプログラミングとあまり変わりません。それをデバッグするルールは普通通りです:デバッガを使用し、コードをステップ実行します。 TCP/IPのためのもう1つのツールはあなたがすでに知っているwiresharkです。

しかし、本当にそうで助けを得るために、あなたはが使用されるコードを示さなければならない、理想的Minimal, Complete, and Verifiable exampleので、他の人がより簡単に問題を識別するためにそれをテストすることができていること。

関連する問題