My Environment: Rad Studio XE4 using C++
私は TThread を使用してソフトウェアに取り組んでいます。最近、プログラム開始から数日後に突然 TThread が破壊されるという問題に直面しています。
TThread では、スレッドは Synchronize() メソッドを使用してフォーム (TLable など) の表示を変更します。これは何か問題を引き起こすのではないかと思います。
問題の原因を突き止めることができるように、スレッドのいくつかの部分でログを記録しています。しかし、ログを確認すると、TThread のデストラクタが突然呼び出されていることがわかります。
TThread の FreeOnTerminate が true に設定されています。
プログラムは 2 つのスレッドを実行します。1 つのスレッドだけが突然破壊され、問題が発生した後も他のスレッドは動作しています。
この種の問題の原因をキャッチする方法を探しています。