PowerShellの出力がめちゃくちゃになる

PowerShellの出力がめちゃくちゃになる

PowerShell で直接コマンドを実行してmingw32-make、C プロジェクトをビルドしています。

ただし、出力が完全に乱れることがあります。たとえば、1 行の一部が別の行に挿入されるなどです。これにより、出力の読み取りが不可能になる場合があります。

2 回の実行間で出力は一貫しているようです。つまり、特定のプロジェクト状態では常​​に同じめちゃくちゃな出力が生成されます。

出力を txt ファイルにダンプしようとしましたmingw32-make > log.txt。テキスト ファイルには明確な出力が表示されますが、エラー レポートがすべて表示されません。実際のエラー レポートはなく、「コンパイル エラー」とだけ表示されます。

これを修正するにはどうしたらいいでしょうか?

答え1

あなたが説明している内容は、mingw32-make複数のストリームに送信するということのようです。このように出力を混ぜることは、ミックスしWrite-HostWrite-Output呼び出したときに起こることと似ています。1番目は[多かれ少なかれ]直接ホストに送られますが、2番目は成功ストリームに送られ、それからホストへ。

最も簡単な解決策は、すべてのストリームをファイルにリダイレクトするか、必要なストリームとTee-Object結果を画面とファイルに結合することです。[ニヤリ]

Get-Help about_Redirection詳細についてはこちらをご覧ください。

を使用しているのがわかりますmingw32-make 2>&1 > log.txt。特定のユーティリティをテストする方法がないため、特定のストリームを指定できませんでした。すべてのストリームをリダイレクトする を選択したと思いますmingw32-make *> log.txt。やり過ぎを避けるという点で、あなたのパターンの方が優れています。

関連情報