ich bekomme leider in meiner Software immer wieder mal einen Fehler:
SIGSEV Fehler Exception-Klasse >>External<<
wobei das Assemblerfenster jedesmal irgendwie bei ..GetMem... steht.
System: Windows-7 64 Bit, Lazarus: V1.64
Kurz zur Software:
Eine serielle Kommunikation mit einem Messgerät sowie der Anzeige von Messdaten in "Echtzeit" 1 Millisekundentakt.
Der Fehler tritt sehr willkürlich auf. Also manchmal erst nach einigen Stunden
und manchmal schon nach ein paar Minuten. Das macht das Auffinden natürlich sehr schwer und lässt sich leider auch nicht provozieren. Zumindest weis ich noch nicht wie.
In meiner Software selbst benutze ich lediglich einmal GetMem im Construktor für den Messwertspeicher.
Dieser ist aber statisch und bleibt während der gesamten Laufzeit erhalten. Er wird auch nicht vergrößert oder verkleinert, er hat eine feste Größe.
Das Programm besteht eigentlich nur aus ein paar Scrollbars und Tasten.
Aber, dazu kommen ein paar sehr spezielle, eigene Komponenten für Timer und serielle Schnittstelle, welche von meiner Seite aus, jedoch kein GetMem benutzen.
Was die Windows Api oder die FTDI/Silabs Treiber machen, weiss ich natürlich nicht. Der Fehler könnte theoretisch also auch dort her rühren.
Wenn Lazarus aber den Fehler erkennt und das Assemblerfenster öffnen kann, dann vermute ich den Fehler eher nicht in den seriellen Treibern oder Windows API.
Die kennen sicher nicht die Funktion GetMem von Lazarus. Das ist aber nur eine Vermutung von mir.
Jetzt bleibt mir also zunächst die Frage, wer ruft denn zur Laufzeit die Funktion GetMem auf ? Kann ich das irgendwie ermitteln ?
TForm,TComponent,TCustomControl,TCustomPanel,TCustomLabel,TScrollBar,TLabel,
TButton,TTimer
Ein TTimer ruft alle 100ms "Invalidate" für mein Kurvenfenster auf.
In "Caption" zeige ich dann noch die benötigte Bildaufbauzeit an.
Sie liegt bei rund 50ms, je nach Größe des Fensters.
Schwieriges Problem, ich weiss, aber vielleicht hat jemand eine Idee, wie ich der Sache weiter auf den Grund gehen kann.
Meistens funktioniert es ja, aber das ist NICHT mein Stil

Danke Euch schonmal im voraus.
Siro