質問

私は私のプログラムをdebugmodeで実行してから、メインフォームを閉じることによってそれを終了します。

出力ウィンドウでは、次のメッセージが表示されます。

Uninit : Still Alive 1The program "[1432] App1.exe: Managed (v4.0.30319)" was ended with code 0 (0x0).
.

私は「Uninit:まだ生きている1」を意味するのだろうか。

誰かが知っていますか? 私はいつも何らかの時点で予期せぬ何かが起こり、そして「まだ生きている」というメッセージが私には実際には有望にならない。

助けてくれてありがとう!

役に立ちましたか?

解決

で生成された診断メッセージです。 outputDebugString()。それはあなたが依存しているDLLの1つに存在します。正確な意味では解釈が必要ですが、DLLがアンロードされたときに発生するものの種類の種類は、「未初期化」の場合は短いです。そして、「まだ生きている1」はおそらく、あなたがフロアマットを急上昇させる前にあなたが彼のコンポーネントを適切に遮断しないようにあなたが彼のコンポーネントを遮断していないことについてミッフィングされることを意味するでしょう。

メッセージには、ラインブレーク( "\ n")がありません( "\ n")プログラマーがOutputDebugStringを使用したときに作るかなりの標準的な間違いです。

これを行うDLLを見つける2つの基本的な方法。最初のものは、Project + Properties、[Debug]タブで管理されていないデバッグをオンにすることです。[ネイティブコードデバッグを有効にする]チェックボックスをオンにします。 DLLアンロード通知は診断メッセージの近くにあるはずです。

より信頼性があるSysInternalsのProcess Explorerを使用しています。プロセスを選択してCtrl + Dを押してロードしたDLLを一覧表示します。メッセージの品質を考えると、おそらくマイクロソフトの著作権を持つものをスキップすることができます。 DLLを1つずつ右クリックして、「文字列」タブを見てDLL内の文字列を表示します。見つけたら、誰がDLL名からそのコードを所有するかを知っておくべきです。適切にシャットダウンする方法を尋ねます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top