1

Delphi 2006 を使用しています。突然、動作が不安定になりました。ブレークポイントまで実行すると停止しますが、次回起動すると、プログラムは実行されますがブレークポイントは無視されます。デバッガーをリセットして最初からプログラムを再度実行すると、ブレークポイントは再び機能しますが、1 回だけです。

ブレークポイントで停止した後に変数ウォッチを設定するなどの機能を試みると、IDE がハングします。タスク マネージャーは BSD.EXE でメモリまたは I/O アクティビティを表示しませんが、CPU は 50% で固くスタックしています (おそらくタイト ループ内の 2 つのコアの 1 つです)。

したがって、次の方法で問題を再現できます。

  • Delphi の開始
  • 私のプロジェクトを読み込んでいます
  • フルビルド
  • 最初の行にブレークポイントを設定
  • run (プログラムは最初の行で中断します)
  • ソースで変数名を選択し、ウォッチ ウィンドウにドラッグします。
  • ブーム!

この動作は、デバッグ中の 1 つの特定のプログラムに限定されており、PC/IDE の再起動後に発生します。

アプリは数十万行。

何かが破損しているはずですが、どこから始めればよいでしょうか? これは、私のプログラムが IDE に損害を与えていることを示していますが、DPR ファイルの最初の行を改行することで問題を再現できます。

最近追加したコードの一部でコンパイラが窒息している可能性がありますか?

次のステップは、問題が解決するまで追加したものを削除して、後ろ向きに歩き始めることだと思いますが、誰かが最初に光を当てることができることを願っています.

4

2 に答える 2

1

構成オプションに関しては、Delphi は複雑すぎます。私は同じ Windows インストールを 5 年間使用しましたが、私の Delphi 2006 は最終的に非常にバグが多くなりました。そして、私は多くのサードパーティのパッケージといくつかの独自のパッケージを持っていました.

解決策は次のとおりです。

  1. 2 つのフォルダーを作成します (1 つは bpl ファイル、その他はパッケージ)。
  2. コンポーネント パックごとにサブフォルダを作成します。
  3. lib パスを過負荷にしないために、小さい名前を使用してください。
  4. インストールするすべてのパックをテキスト ファイルに書き留めます。
  5. Tools\Library Pathパック ソース、drc などの新しいパスで更新 します。
  6. 古いデルファイのインストールを削除します。
  7. すべての新しい、クリーンで文書化されたインストールを作成します。

パッケージにエラーが表示された場合は、そのパッケージを から削除してから、Components\Install Packagesファイルのサブフォルダーを削除します。

于 2012-06-30T00:27:31.037 に答える
0

ランタイム パッケージを使用してビルドする場合、Delphi でのデバッグに問題がありました (2006 と 2010 の両方で同様の動作が見られます)。

すべてがexeに含まれている場合、それは堅実です. それ以外の場合、動作はあなたが説明したものとかなり似ています。

自家製のパッケージがうまく構築されていないためなのか、それとも Delphi 固有のものなのかはわかりません。

于 2012-05-04T16:45:12.130 に答える