Hallo,
seit etlichen Tagen kämpfe ich mit einer externen Kommunikations-
DLL.
Es handelt sich um eine
DLL zur OPC-UA Kommunikation (SPS), das Projekt open62541. Die
DLL ist in C geschrieben, ich habe einen eigenen Pascal-Wrapper drum herum gebaut. Es gibt Lese- und Schreibbefehle, und auch einige Callback-Funktionen für Verbindungsstatus und Wertänderungen aus der SPS heraus
Grundfunktionen laufen, Daten lesen, schreiben, Wertänderungen etc. Etliche Testprogramme, die einzelne Funktionen testen, laufen über einen längeren Zeitraum.
Sobald ich aber das ganze in meinem Gesamtprojekt integriere, erhalte ich nach einigen Durchläufen unerklärliche Kommunikationabbrüche bzw. Fehlermeldungen.
z.B. wird ein Schreibbefehl in die
DLL während des Aufrufs durch ein Callback der Wertänderung eines anderen Feldes unterbrochen und kehrt nie mehr zurück.
An anderer Stelle wurde eine Funktion beim Aufruf der
DLL rekursiv wieder aufgerufen.
Meine Vermutung geht ja dahin, daß ich irgendwo im Wrapper noch Fehler habe, so daß irgendwelche Speicherinhalte willkürlich verändert werden.
Wer kann mir vielleicht Tipps und Hinweise für Tools geben, um diese Fehler einzugrenzen.