掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
デバッグ時のブレークポイントが効かない (ID:35357)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ソースコードの行数が多くなると、コンパイルやコンパイル後のプログラムの動作は期待した通りで正常なのですが、ブレークポイントを設定しても、デバッグモードで走らせると、赤色が、無効な行に設定しているいう深緑になり効かなくなる現象がでています。 調べてみると、過去のQ&Aにも似た現象は報告されていましたが、細かい状況は不明で結論はありませんでした。 BDS2006(DelphiWin32)でchttps://www.petitmonte.com/bbs/answers?question_id=4281 以下のテストコードを使って単純なテストを実施しました。テストはTFormにTButtonを一つおいて、押されたら、'hoge'と表示するだけの単純なものです。 試行したのは、途中に改行を入れて、強制的にUnitの行数を多くしただけです。すると、私の環境では、Win2000、XPの両方で、現象が再現しました。 ただ、現象が出る行数は少し調べただけですがあまり一定してなくて、トータル35000行ぐらいの時もあれば、40000行台の場合もあるという感じでばらついているように感じます。 もともと、この現象に気がついた実際のソースコードでは、大体、65000行台になってくると現象が現れました。 今のところ、バグなのかな?と思って、移せる部分を他のUnitへ移して、トータルの行数を抑制する方向で逃げていますが、根本的に回避可能な方法があれば、アドバイスをお願いします。 よろしくお願いします。 Delphi 6 Personal, Win2000 & XP 〜 テストコード開始 〜 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private 宣言 } public { Public 宣言 } end; var Form1: TForm1; implementation {$R *.dfm} { ここに多数の空白行を追加すると、コンパイルやプログラムとしての動作そのものは正常だが、以下のShowMessage('hoge')に対するブレークポイントが効かなくなる } procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('hoge'); end; end. 〜 テストコード終わり〜
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.