Hallo,
das von Dir beschriebene Problem kenne ich auch, aber auch bei deutlich kleineren Units und DMFs.
Einige Programme kann ich nicht Debuggen, andernorts läßt sich der Inhalt von Variabeln beim Debuggen nicht anzeigen (angeblich alles wegoptimiert). Einen Grund für dieses Verhalten von D7 kenne ich nicht, aber ich habe eine Vermutung, die ich bisher weder beweisen noch widerlegen konnte.
Bei Programmen, die viele Units (unterschiedlicher Quellen) nutzen, scheint das Problem häufiger aufzutreten, als bei 100%igen "Eigenbauten".
Mein Verdacht fällt hier auf die Kompilerschalter {$D+} und {$D-}.
Unabhängig von den Projekteinstellungen kann man diese Beiden ja auch im Quelltext unterbringen. Kommt der Kompiler an einem der beiden Schalter "vorbei", so scheint für ihn ab dort die entsprechende Bedingung zu gelten. Hierdurch kann es passieren, dass an beliebigen Stellen das Debuggen funktioniert oder eben auch nicht. Dies scheint sich aber nicht nur auf die
Unit auszuwirken, in der der Schalter steht, sondern auch auf die Units, aus denen die
Unit mit Kompilerschalter aufgerufen wird. Hierdurch scheint dann das Debuggen in Units ab oder bis zu bestimmten Stellen zu funktionieren oder halt auch nicht.
Bei Deinem konkreten Fall könnte es unter Umständen eventuell vielleicht (also eine extrem wage Vermutung) möglich sein, dass kurz vor der Zeile, ab der die Breakpoints setztbar sind, beim Kompilieren eine
Unit aufgerufen wird, in der der Schalter {$D+} steht. Irgendwo davor wird vermutlich eine
Unit kompiliert, in der der Schalter {$D-} steht und deshalb keine Debuginformationen vorhanden sind.
Aber: Nix genaues weiß man nicht.
Ab und an scheint es zu helfen hinter die Uses-Anweisungen zusätzlich ein {$D+} einzufügen. Manchmal hilfts, aber nicht immer.
Eventuell hast Du ja damit Glück.