デバッガーで実行する場合、一部のコードを無効にする必要があります。
だから、私はそれをすることを想像します:
{$IFNDEF DEBUG}
...
{$ENDIF}
ただし、ifndef内のコードはデバッガーで実行されるため、クラッシュします。
私はlazarus0.9.29とFPC2.4.0を持っています
デバッガーで実行する場合、一部のコードを無効にする必要があります。
だから、私はそれをすることを想像します:
{$IFNDEF DEBUG}
...
{$ENDIF}
ただし、ifndef内のコードはデバッガーで実行されるため、クラッシュします。
私はlazarus0.9.29とFPC2.4.0を持っています
あなたが言及しているコンパイラ ディレクティブは、実際にはコンパイラ ディレクティブであり、デバッグ ディレクティブではありません。
それらはコンパイルプロセスに関連しており、魔女はデバッグシステムから完全に分離されています。
あなたがしなければならないことは次のとおりです。
コンパイルとデバッグを混同し、それらを同じコンテキストに入れています。
それらは実際には完全に別個のコンテキストに存在します。
これは、同じ GUI システムでコンパイルとデバッグを行っていることが原因である可能性がありますが、プログラムをコンパイルすると、デバッガーが探すのはブレーク ポイントだけです。
それが役に立てば幸い。
編集: プログラム/ユニットの上部にあるシンプルな {$DEFINE DEBUG} で定義するか、Lazarus オプション ペインを使用してコマンド ライン パラメータとして追加できます。
私の答えを完成させるために。