10

例外が発生すると、デバッガーから次のメッセージが表示されます。

ここに画像の説明を入力

をチェックして、例外を無視することを選択できますignore this exception type
ただし、これを行うと、将来のすべてのプロジェクトでこの例外が無視されます。これは、すべてのプロジェクトで例外を無視したくないため、役に立たないよりも悪いことです。この実行ではそれらを無視したいだけです。

ToolsAPI を使用して、次の方法があります。

A - この実行のみ例外を無視する、または
B - このプロジェクトのみ例外を無視する、または
C - Delphi の再起動時に例外を無視する設定を復元する

A、B、または C を実行できれば、問題は解決します。

ignore exceptionデータが次の場所に保存され ていることを知っています。

HKEY_CURRENT_USER\Software\Embarcadero\BDS\17.0\Debugging\Embarcadero Debuggers\Language Exception Classes

私の好みのオプションは、ToolsAPI を使用してメッセージボックスを修正し、ignore this exception for this session onlyチェックボックスを追加することです。
しかし、それが利用できない場合は、レジストリをいじっても問題ありません。
レジストリにフォールバックする場合は、IDE を再起動する必要がないように、Delphi に強制的に設定を再読み込みさせたいと考えています。

記録のために、私はシアトルを使用していますが、2007 年以降はこれが機能することを望みます。

ToolsAPI を確認しましたが、無関係に見え、ユーザーが設定したブレークポイントにのみ適用される IOTAFileFilterWithCheckEncodeと思います。IOTABreakpoint80

ToolsAPI を使用して必要なことが可能かどうかわからないため、まだソースがありません。そうでない場合は、上記のレジストリ キーを記録し、Delphi を起動して復元する外部アプリの使用にフォールバックします。レジストリ キー。でも、もっときれいな方法があることを願っています。

4

1 に答える 1

1

残念ながら、設定を無視する例外はグローバルな IDE 設定であり、プロジェクトごとの設定ではないため、それらを変更するたびに、その変更はすべてのプロジェクトに影響します。

Embarcadero がこれをプロジェクト オプションに追加して、プロジェクトごとに異なる例外設定を無視できるようにしてほしいと思います。

どちらかまたはボタンをチェックignore this exception typeしてクリックすると、グローバルIDE設定が変更され、言及された例外が下のリストに追加されますContinueBreakException types to ignore
Options->Debugger Options->Embarcadero Debugger->language Exceptions

無視する例外の種類

私の場合、例として EDivByZero 例外を追加しました。

後で、特定の例外の前にあるチェック ボックスをオンまたはオフにして、Delphi IDE がそれを無視するかどうかを制御できます。

ToolsAPI を使用してこれらの設定を変更することはできますか? ToolsAPI を使用した経験がないのでわかりません。

少なくとも正しい方向に向けていただければ幸いです。

于 2016-06-06T11:14:48.257 に答える