C#アプリケーションでMATLAB .NETライブラリを使用した単体テスト実行後、「testhost.exe」プロセスが残留しないようにする方法はありますか?
Show older comments
C#アプリケーションに、MATLAB Compiler SDKで.NETライブラリとしてビルドしたMATLABモジュールを組み込み、単体テストを実行しています。この単体テストは、MSTestやxUnitといったC#向けの自動テストフレームワーク(テストを自動で実行・管理する仕組み)を利用して実施しています。
テストを実行すると、「testhost.exe」というプロセスが起動します。このプロセスは、MSTestやxUnitなどのテストフレームワークがテストコードを実行する際に、その実行環境(ホスト)として自動的に立ち上がるのが仕様のようです。従って、C#コード内でMATLAB .NETライブラリを呼び出す場合のみ、「testhost.exe」プロセスが起動します。該当する呼び出しをコメントアウトしてMATLABの処理を行わないようにした場合は、このプロセスは起動しません。
しかし、すべての単体テストおよび.NETライブラリの処理が正常に終了した後も、「testhost.exe」プロセスがタスクマネージャー上に残り続けることが確認されました。このようなプロセスの残留は、リソースが正しく解放されていないことを示唆しています。そのため、繰り返しテストを実施したり、アプリケーションをデプロイしたりする際に、リソースリークなどの問題が発生する可能性があり、対策が必要だと考えています。
Accepted Answer
More Answers (0)
Categories
Find more on MATLABCompiler SDK 入門 in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!