AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pointer debuggen (Speicher-Dump)

Ein Thema von Nimral · begonnen am 21. Jun 2015 · letzter Beitrag vom 21. Jun 2015
Antwort Antwort
Nimral

Registriert seit: 21. Sep 2005
18 Beiträge
 
#1

Pointer debuggen (Speicher-Dump)

  Alt 21. Jun 2015, 16:20
Hi allseits,

nach 2 Stunden selber suchen belästige ich euch. Problem: ich habe mir zwei OEM Komponenten (ApolloDB und VirtualTree) eingetreten, die exzessiv Gebrauch von Pointern machen. Dabei kommt es des öfteren zu eigenartigen Phänomenen durch Flüchtigkeitsfehler, z.B. wenn man einen PChar benützt, und den Pascal String auf den er zeigt nicht vorher #0 terminiert. Eigentlich Kleinkram, aber mit fatalen Auswirkungen, und das Finden solcher Fehler ist unglaublich zeitaufwändig.

Ich würde mir erwarten, dass ich im Debug Modus über die "Inspect", "Watch" oder "Evaluate-Modify" Funktionen, auf einen Pointer angewendet, einen Dump des Speicherbereiches bekomme, auf den der Pointer zeigt. Bisher habe ich aber nur einen unglaublich umständlichen Weg gefunden (Speicheradresse im CPU Fenster - Fokus auf dem Memory Dump - mit GoTo eintragen).

Das müsste doch einfacher gehen. Unter "Edit Watch" gibt es ja durchaus zwei vielversprechende Auswahlmöglichkeiten: "Pointer" und "Memory Dump". Stelle ich sie ein, ändert sich allerdings nichts. Auch die Angabe von Pointer^ als Watch hat nichts gebracht. Wozu die beiden Auswahlen überhaupt gut sind ist ebenfalls nicht klar, die Hilfe hat nur "Used for Win32 applications only" als Erklärung parat. Grad zufällig hätte ich genau so eine Applikation vor mir - und nun? Seltsame Hilfe ist das.

Wer hat mir einen Tipp, ob, und wenn ja wie, ich direkt im Watch Fenster einen Speicherdump des Speicherereichs, auf den eine Pointer-Varibale zeigt,
bekommen kann?

Thx,

Armin.

(RAD Studio XE7)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Pointer debuggen (Speicher-Dump)

  Alt 21. Jun 2015, 17:49
Vielleicht nicht ganz On-Topic, aber: Eigentlich sind Pascal-Strings immer automatisch 0-terminiert. Wenn sie das bei dir nicht sind, dann hast du irgendwo einen Fehler, den du noch nicht kennst.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#3

AW: Pointer debuggen (Speicher-Dump)

  Alt 21. Jun 2015, 18:05
Wer hat mir einen Tipp, ob, und wenn ja wie, ich direkt im Watch Fenster einen Speicherdump des Speicherereichs, auf den eine Pointer-Varibale zeigt,
bekommen kann?
PByteArray(P)^
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 13:01 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