NI I/O Traceが実行しているときのみアプリケーションが動作するのはなぜですか?



使用ソフトウェア:
使用ソフトウェア・バージョン: 2.3
使用ソフトウェア・バージョンに特化: N/A
二次のソフトウェア: N/A

問題:

プログラムのみを実行するとエラーが返されます。NI I/O Traceを使用してキャプチャを作成しプログラムのデバッグを行おうとするとエラーが生じません。NI I/O Traceを同時に実行している間はプログラムが動作するのに、プログラムのみだとうまくいかないのはなぜでしょうか?



解決策:

NI I/O Traceを実行すると、ドライバへのすべてのコールは最初にNI I/O Traceへ送信され、ログが作成されます。ドライバへのコールの実行が完了すると、戻り値もまたNI I/O Traceへ渡されます。これらの余分なステップがプログラムのタイミングを遅くします。

よくあるシチュエーションとしては、Readから返されるタイムアウトエラーがNI I/O Traceを実行することで回避されているというケースです。この場合はコードのReadとWriteの間に遅延を配置することで問題はほぼ解決されます。

 



関連リンク:

添付:





報告日時: 04/26/2005
最終更新日: 01/28/2014
ドキュメントID: 3KPFP76K