新しいユニットでブレークポイントが有効にならなくなった

解決


モリオ  2018-02-20 20:13:44  No: 48994

DelphiXEを使用しています。
プロジェクトに大量のpasファイル(100個近く)があるのですが、
あるファイル数を境に、新たに追加したpasファイルでブレークポイントが
機能しなくなりました。
※青い点がまったく出なくなりました。

今までブレークポイントが正常だったpasファイルには、ロジック行を
追加してもブレークポイントの青い点は生成されます。
何が原因なのでしょうか。
IDEに最大ファイル数やメモリ制限でもあるのでしょうか。

以下の操作を行っても、今後新たに追加されるファイルには
ブレークポイントが機能しません。

・.dproj、.dsk、.dcuを全て削除し、プロジェクトファイルを再作成。
・プロジェクトオプションのコンパイル欄で、「デバッグ情報」、
  「ローカルシンボル」は初期値のままTrue。
・プロジェクトオプションのリンク欄で、「デバッグ情報」、
  「リモートデバッグシンボル」をTrueにしてみる。

他にも何か手がありましたらお教えください。
よろしくお願いいたします。


take  2018-02-21 00:36:08  No: 48995

質問内容が曖昧で答えようがありませんが、とりあえず以下の点を回答願います。

>あるファイル数を境に、新たに追加したpasファイルでブレークポイントが 機能しなくなりました。
あるファイル数って何でしょうか?CPUにとってキリの良い数字のpasファイルから挙動がおかしくなったと言うことでしょうか?

>今までブレークポイントが正常だったpasファイルには
今までということは何か変更したのでしょうか?どのファイルをどう変更したのでしょうか?

>何が原因なのでしょうか。 

思いつくのはこれぐらい?
1.追加したpasファイルが既存と同名
2.追加したpasファイルのクラス宣言が既存と同名
3.そのクラスを呼ぶ側がコメント化や一致しない条件文が記述されて参照されることが無い


通りすがり  2018-02-21 01:23:43  No: 48996

プロジェクト→クリーンアップで再度コンパイルでもだめなんですよね?


KONNOYA  2018-02-21 03:01:35  No: 48997

私も過去に似たような事で悩まされた事があるのですが(Delphi 7の頃)

その追加したpasファイルユニット内に、大きなconst領域が設定されていたりしていませんか?
特に大きな定数配列とかを定義していると、ブレークポイントが効かなくなる現象が出たと思います。
Delphi XEでもそうなのかは不明ですが。

当時の解決策として、その大きなconst領域を、新規の別ユニットに持っていくだけで解決しました。

一度、確認してみて下さい。


モリオ  2018-02-25 00:00:36  No: 48998

ご回答ありがとうございます。
恥ずかしながら、ブレークポイントが有効とならないファイルは、
まだどこからも呼び出されない状態でした。
現在、ブレークポイントの青い点は無事生成されております。
皆様からご提示いただいたことは今後に活かさせていただきます。
この度はお騒がせし申し訳ございませんでした。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加