9

COM DLL プロジェクトがあり、Delphi 2007 および XE8 でデバッグ (ブレークポイントで停止) できます。

ただし、IDE が Delphi 10 シアトルまたは 10.1 ベルリンのブレークポイントで停止することはできないようです。

デバッグの私のステップ:

  1. DEBUG に変更します (そして、チェックされているデバッグ オプションをチェックします。例: デバッグ情報)

  2. regsvr32 出力ディレクトリの下のプロジェクト DLL

  3. COM オブジェクトを作成してそのメソッドを呼び出すだけの vbscript を作成する

  4. デバッガーで、32 ビットまたは64 ビットのデバッグRunを使用してコマンドラインを設定します。c:\windows\syswow64\cscript.exec:\windows\system32\cscript.exe

  5. vbscript を実行するようにコマンド ライン パラメータを設定します。

  6. 呼び出されたメソッドにブレークポイントを設定します。

  7. F9を押す

想定: ブレークポイントで停止する

Delphi 2007 と XE8 では問題ありませんが、Delphi シアトルやベルリンではできませんでした。

ここで何がうまくいかない可能性がありますか?Delphi の最新の IDE バージョンで COM DLL をデバッグするために有効/無効にする必要がある設定はありますか?

4

1 に答える 1

1

IDEの問題のようです。JIRA で問題を提起しました: https://quality.embarcadero.com/browse/RSP-14964

私の場合、最終的に回避策を見つけました。

F9 ではなく F8 を押さなければなりません。この場合、CPU ウィンドウがポップアップし、Pascal 命令とアセンブリ命令が混在し、F9 キーを押すと、ブレーク ポイントで停止する可能性が最も高くなります (ただし、ランダムな動作が発生する場合もあります)。これは何度でも再現できます。F9 キーを直接押してもブレークポイントで停止しませんが、デバッグ中に cscript.exe ウィンドウがポップアップします。

私のプロジェクトは 300K COM DLL です。

于 2016-06-17T17:24:17.613 に答える