AGB  ·  Datenschutz  ·  Impressum  







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

Fehler mit externer DLL, Callback-Funktionen.

Ein Thema von Rainer Wolff · begonnen am 8. Dez 2021 · letzter Beitrag vom 9. Dez 2021
Antwort Antwort
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Fehler mit externer DLL, Callback-Funktionen.

  Alt 8. Dez 2021, 11:59
ReportMemoryLeaksOnShutdown := True hast du bereits gesetzt?
Schon lange, wobei ich zugebe, einige Leaks bisher großzügig ignoriert zu haben, da mir wurst war, ob ein paar Delphi-Objekte vielleicht zu viel Speicher belegen.
Den Fehler würde ich eher zwischen DLL und Delphi vermuten, da erzählt ReportMemoryLeaks meiner Ansicht nach nicht genug, vielleicht kenne ich mich da aber auch zu schlecht aus.

Inzwischen habe ich FastMM4 an den Start gebracht, auch ein paar Delphi-Leaks aufgeräumt und jetzt ein neues Problem an ganz anderer Stelle:

Meine Berechnungen, die Spring4d intensiv benutzen (inkl. ORM), liefern Schrott, wenn ich die FastMM4-Unit einbinde.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.869 Beiträge
 
Delphi 12 Athens
 
#2

AW: Fehler mit externer DLL, Callback-Funktionen.

  Alt 8. Dez 2021, 12:14
Meine Berechnungen, die Spring4d intensiv benutzen (inkl. ORM), liefern Schrott, wenn ich die FastMM4-Unit einbinde.
Das kann (!) darauf hindeuten, dass im Speicher etwas richtig schief geht, was auch die anderen Probleme erklären würde. Denn FastMM überschreibt ungültigen Speicher teilweise, so dass z.B. Zugriffe auf Speicherbereiche schon freigegebener Objekte nicht mehr die (vorher noch vorhandenen und nur als gelöscht markierten) Werte liefern.
Außerdem ist das Speicherlayout bei einem anderen Speichermanager anders, so dass auch dadurch vorher verdeckte Probleme Wirkung zeigen können.

Aber gerade bei solchen unspezifischen Problemen gibt es sehr viele mögliche Ursachen, was dir vermutlich auch klar ist. Das geht bei simplen Sachen los wie falsche Aufrufkonventionen, die du sicherlich aber schon geprüft hast.

Wenn man Speicherstellen identifizieren kann, die offenbar später falsche Werte bekommen, sind z.B. Datenhaltepunkte eine Möglichkeit um die Änderung mitzubekommen. Von außen ist es aber schwer konkrete Tipps zu geben.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Rainer Wolff

Registriert seit: 25. Okt 2005
Ort: Bretten
321 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Fehler mit externer DLL, Callback-Funktionen.

  Alt 8. Dez 2021, 13:03
Meine Berechnungen, die Spring4d intensiv benutzen (inkl. ORM), liefern Schrott, wenn ich die FastMM4-Unit einbinde.
Das kann (!) darauf hindeuten, dass im Speicher etwas richtig schief geht, was auch die anderen Probleme erklären würde. Denn FastMM überschreibt ungültigen Speicher teilweise, so dass z.B. Zugriffe auf Speicherbereiche schon freigegebener Objekte nicht mehr die (vorher noch vorhandenen und nur als gelöscht markierten) Werte liefern.
Außerdem ist das Speicherlayout bei einem anderen Speichermanager anders, so dass auch dadurch vorher verdeckte Probleme Wirkung zeigen können.
ok, das war mein eigener Bockmist (nicht initialisierter Funktionsrückgabewert), erstaunlich, dass das erst jetzt herauskommt
  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 08:39 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 by Thomas Breitkreuz