AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Keine Debuginfos für "eine" Funktion oder Codezeile ?
Thema durchsuchen
Ansicht
Themen-Optionen

Keine Debuginfos für "eine" Funktion oder Codezeile ?

Ein Thema von himitsu · begonnen am 18. Apr 2024 · letzter Beitrag vom 19. Apr 2024
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#1

Keine Debuginfos für "eine" Funktion oder Codezeile ?

  Alt 18. Apr 2024, 20:29
Delphi-Version: 12 Athens
N'abend,

warum kann man die Debuginfos nicht nur für eine Funktion abschalten? (bzw. wenn doch, wie?)

Ich hab in einer Unit, in einer Klasse ein paar kleine Hilfsfunktionen, welche oft nichts machen, außer in einer Schleife etwas zu suchen, und da wäre es doch zu praktisch, wenn ich beim Debuggen des restlichen Codes, dort nicht ständig drin landen würde.
(ja, F8, aber in andere Funktionen will ich ja rein ... nur da eben nicht ... ist auch zu anstrengend ständig zwischen F7 und F8 entscheiden zu müssen)

Prinzipiell denk ich mir, es kann doch nicht so schwer sein, diese eine/paar Zeilen aus der Liste der Codezeilen+Adressen einfach wegzulassen.


Delphi-Quellcode:
...
{$DEBUGINFO OFF}
hier nicht
{$IFDEF _DEBUGINFO_} {$DEBUGINFO ON} {$ENDIF}
...
und ganz oben noch ein {$IFOPT D+} {$DEFINE _DEBUGINFO_} {$ELSE} {$UNDEF _DEBUGINFO_} {$ENDIF} .

Egal was man macht, es zählt immer nur die letzte Angabe, für die komplette Unit.

Leider ist es in der Hilfe oft nicht ersichtlich, welche Reichweite die einzelnen Compileroptionen besitzen.
* Einige wirken ab da, wo sie definiert wurden, bis zum Ende der Unit (oder bis zur nächsten Angabe)
* bei Einigen wirkt sich die letzte Angabe ab Ende der aktuellen Codezeile bis zum Ende aus
* Manche werden, wie hier erst am Ende der Unit nur für diese Unit ausgewertet
* Anderes wirkt über das komplette Programm und die letzte Angabe wird dann für das Programm verwendet, z.B. ob die eventuell vorhandenen DebugInfos dann ins Kompilat gelinkt oder doch verworfen werden, oder z.B. die BaseAdresse, StackSize, LibSuffix usw.
* ...

Außerdem sind die dort angegebenen DEFAULTs leider auch nicht mehr ganz "korrekt".
z.B. steht da, dass die Überlaufprüfung standardmäßig OFF ist, was aber nur für die DPR gilt (direkt an den DCC übergeben), aber nicht die Projektionen (DPROJ),
allerdings ist standardmäßig die Debug-Config aktiv und dort ist inzwischen diese Option nunmal standardmäßig ON.

z.B. funktioniert hier nur das Erste, wie gewollt:
Delphi-Quellcode:
{$OVERFLOWCHECKS OFF} 
i := i * 123;
{$OVERFLOWCHECKS ON}
Delphi-Quellcode:
{$OVERFLOWCHECKS OFF} 
i := i * 123
{$OVERFLOWCHECKS ON} 
;
$2B or not $2B

Geändert von himitsu (18. Apr 2024 um 21:39 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#2

AW: Keine Debuginfos für "eine" Funktion oder Codezeile ?

  Alt 19. Apr 2024, 09:18
Ich hab' da mal was für dich gemacht:
https://embt.atlassian.net/servicede...rtal/1/RSS-700

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz