ソケットプログラミングとマルチスレッドに基づいて、C言語で書かれたツールがあります。ツールを単純に実行すると、エラーは発生せず、ツールは問題なく機能します。
しかし、ツールをデバッグ モードで実行すると、スレッドを切り替えると SIGPIPE シグナルが発生するため、ツールからサーバーにデータを転送できませんでした。
SIGNAL(SIGPIPE, SIG_IGN) を使用して SIGPIPE を処理すると、スレッドが機能しますか?
私が理解している限り、これはスレッド間のプロセス間通信の失敗が原因で発生しています。もしそうなら、どうすればそのようなマルチスレッドアプリケーションをデバッグできますか?
この問題を処理する方法を教えてください。