1
私はブロック呼び出しを持つDelphi 10マルチスレッドアプリケーションを持っています。終了すると、RAMからアンロードされず、Delphiデバッガが停止しないことがあります。私のプログラムはどこで待っていますか?
私のアプリが待っているルーチンをどのように検出する(ツール、方法)?
私はブロック呼び出しを持つDelphi 10マルチスレッドアプリケーションを持っています。終了すると、RAMからアンロードされず、Delphiデバッガが停止しないことがあります。私のプログラムはどこで待っていますか?
私のアプリが待っているルーチンをどのように検出する(ツール、方法)?
Ctrl+Alt+V
)を表示し、順番に各スレッドをダブルクリックしてcall stack(ビューを検査デバッグのWindows、コールスタックまたはCtrl+Alt+S
)Debug DCUs(プロジェクト、オプション...、Delphiコンパイラ、コンパイル、デバッグ.dcusを使用)、およびruntime packagesを無効にして上記の手順を実行することが有益な場合があります(プロジェクト、オプション...、パッケージ、ランタイムパッケージ、ランタイムパッケージとのリンク)
ありがとうございました。これについては知りませんでした。このウィンドウには5つのスレッドが表示されます。そのうちの4つはState = Stopped、Status = Unknown、もう1つはState = Stopped、Status = Steppedです。 – Paul
メインスレッドを見つけ、ブロックしているものを確認してください。そこから取り出してください。どのスレッドがメインスレッドであるかを簡単に知るために、スレッドに名前を付けることができます。 –
[ネームスレッド](http://docwiki.embarcadero.com/RADStudio/en/Naming_a_Thread)ドキュメント – blong