AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Haltepunkt Eigenschaften

Ein Thema von kagi3624 · begonnen am 2. Okt 2020 · letzter Beitrag vom 2. Okt 2020
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: Haltepunkt Eigenschaften

  Alt 2. Okt 2020, 14:38
Inline-Assembler gibt es nur noch im Win32-Compiler, außerdem geht es auch kürzer/einfacher.
Ich nehm da einfach immer ein Sleep(0); (früher Beep; ), um dort meinen Haltepunkt draufzulegen, was meistens geht da dies nötige Unit oft vorhanden ist.

asm int 3; end; oder MSDN-Library durchsuchenDebugBreak kann/konnte man auch verwenden ... das ist dann ein "programmierter" Haltepunkt,
aber Achtung, "int 3" im Programm, ohne dass ein Debugger aktiv ist, und es knallt.
Drum macht DebugBreak; intern ein if IsDebuggerPresent then asm int 3 end; .
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.555 Beiträge
 
Delphi 7 Professional
 
#2

AW: Haltepunkt Eigenschaften

  Alt 2. Okt 2020, 14:46
Inline-Assembler gibt es nur noch im Win32-Compiler,
was bei Delphi 6 ja gegeben sein dürfte.
Delphi-Quellcode:
if Variable = Wert then
  Variable := Variable;
Keine Gedanken darüber, ob passende Unit vorhanden / eingebunden ist oder nicht, kein Gedanke darüber ob int 3 zu 'nem Fehler führen könnte, kein Gedanke darüber, ob's der Compiler noch kann oder nicht
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.679 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Haltepunkt Eigenschaften

  Alt 2. Okt 2020, 15:44
Drum macht DebugBreak; intern ein if IsDebuggerPresent then asm int 3 end; .
Hm:
DebugBreak:
Zitat:
If the process is not being debugged, the function uses the search logic of a standard exception handler. In most cases, this causes the calling process to terminate because of an unhandled breakpoint exception.
Ist aber trotzdem ein guter Hinweis.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.679 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#4

AW: Haltepunkt Eigenschaften

  Alt 2. Okt 2020, 15:46
Inline-Assembler gibt es nur noch im Win32-Compiler, außerdem geht es auch kürzer/einfacher.
Ich nehm da einfach immer ein Sleep(0); (früher Beep; ), um dort meinen Haltepunkt draufzulegen, was meistens geht da dies nötige Unit oft vorhanden ist.
Der Vorteil der Assembler-Zeile ist, dass sie sofort als Debug-Code auffällt, im Gegensatz zu einem Beep oder Sleep, welches ja auch normaler Code sein könnte. Aber stimmt, Inline Assembler gibt es nur für Win32, auf der anderen Seite ging es ja explizit um Delphi 6.
Thomas Mueller
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Haltepunkt Eigenschaften

  Alt 2. Okt 2020, 16:07
Mir war so, dass dort sowas drin war.

Aber ich verwende diese Funktion auch nicht mehr, denn sie hat einen blöden Nachteil:
Der Debugger hält in dieser Funktion und nicht dort, wo sie aufgerufen wurde, was schon ä bissl nevig ist.

Zitat:
In most cases, this causes the calling process to terminate because of an unhandled breakpoint exception
Die VCL und (leider) auch TThread fangen unbehandelte Exceptions ab, drum würde da meistens nicht gleich alles verrecken.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 03:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz