私は、コアダンプ処理のためのツールを開発しています。 sysctl
を使用して、ツールの入力でコアダンプを取得するように設定しました。すべてうまく動作します。しかし今日、私はコアダンプが壊れている(私にはわからない)状況に直面した。通常のファイルをコアダンプとして設定すると、表示されません。だから何らかの理由で壊れていると思う。代わりに私のツールtee
をセットアップすると結果は表示されません。入力(stdin)が壊れていることを確認するにはどうすればよいですか?
So.私はそのような状況を(それが可能な場合)決定し、壊れたファイルを生成するのではなくログに記録したい。
私は::read(STDIN_FILENO,buff, buffSize)
を使用してデータを取得しています。そして最後にread
ちょうど戻ります0
。私は0
がファイルの終わりを意味し、パイプが壊れていることを意味するときを示したい。プログラムのバグによって
'read'呼び出しの結果を確認しましたか? –
はい、私は最初のメッセージでそれについて書きました。結果はゼロです。 – denys
"最後に返ってきたのは、' buff'が最後にゼロを持っていると不平を言うように聞こえました。次回は[MCVE]を制作してください。そうです、問題は何ですか?あなたが '0'を取得した場合、パイプは壊れています....何が欠けていますか? –