AGB  ·  Datenschutz  ·  Impressum  







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

OPC Server debuggen

Ein Thema von joacim · begonnen am 2. Jul 2021 · letzter Beitrag vom 4. Jul 2021
Antwort Antwort
joacim

Registriert seit: 30. Apr 2003
Ort: Immenrode
60 Beiträge
 
Delphi 6 Professional
 
#1

OPC Server debuggen

  Alt 2. Jul 2021, 07:11
Ein OPC Server soll erweitert werden. Ich habe die Quellen übernommen, der ursprüngliche Programmierer steht leider nicht mehr zur Verfügung. Die Situation ist wie folgt:

- der Quelltext liegt vor und lässt sich fehlerfrei kompilieren
- die ursprüngliche Entwicklung erfolgte in Delphi 6,
wird auch bei mir verwendet.
- der Server verwendet das XPress OPC Server Toolkit der
Firma Softing GmbH, Deutschland
- ein Testclient liegt vor (kein Quelltext)
- der Testclient kann sich mit dem Server verbinden und dort Daten anfordern

Nach meinem (rudimentären) Verständnis eines OPC Servers fordert ein Client via TCP
beim Server Daten an. In der Quelle finde ich die Verwendung von Sockets in einem Thread.
Keiner der von mir gesetzten Breakpoints an mir relevant erscheinenden Stellen (open, close usw.) im Thread triggert, wenn sich der Testclient mit dem Server verbindet bzw. dort Daten anfordert. Dass es sich um den „richtigen“ Server handelt, kann ich sehen, da das connect des Clients fehlschlägt, wenn ich den Server nicht per Delphi (F9) starte.

Gibt es Tipps zum debuggen, warum triggern meine Breakpoints nicht?
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.062 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: OPC Server debuggen

  Alt 2. Jul 2021, 07:22
Triggern denn andere Breakpoints?
Erste Zeile in der DPR oder in den jeweiligen Konstruktoren und Destruktoren?
  Mit Zitat antworten Zitat
joacim

Registriert seit: 30. Apr 2003
Ort: Immenrode
60 Beiträge
 
Delphi 6 Professional
 
#3

AW: OPC Server debuggen

  Alt 2. Jul 2021, 08:02
ja, andere Breakpoints triggern, z.B. in einem Timer,
auch ganz am Anfang der DLL des Servers kann ich Breakpoints
verwenden. Ich würde gerne mal sehen wie die Verbindung
zum Client läuft. Die ganze Sache ist etwas unübersichtlich,
da der eigentliche Client (Visualisierung) noch ein Script
verwendet. Da der Visualisierungs-Client abgekündigt ist,
muss dieses Script - dann im Server - ersetzt werden.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: OPC Server debuggen

  Alt 2. Jul 2021, 10:16
Der die Haltepunkte sind aber auch aktiv? (die blauen Punkte in den Zeilen und der Haltepunkt im Betrieb nicht ausgegraut ....)

Hat D6 vielleicht ein Problem mit Multithreaddebugging?


Statt eines "normalen" Haltepunktes, kann man es auch "direkt" machen,
also DebugBreak; oder asm int 3 end; in den Code schreiben, an den gewünschten Stellen.

Ansonsten kannst auch in eine Logfile schreiben, an jenen Stelle, falls der Debugger einfach nicht will.
(einen schönen Zeinzeiler wie TFile.AppendAllText('C:\xyz\log.txt', 'jo, war hier'#10); oder TFile.AppendAllText('C:\xyz\log.txt', Now.ToString + ' jo, war hier'#10); mußt dir im alten Delphi wohl selbstbasteln, falls keine andere Loggingfunktion vorhanden ist)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 2. Jul 2021 um 10:19 Uhr)
  Mit Zitat antworten Zitat
joacim

Registriert seit: 30. Apr 2003
Ort: Immenrode
60 Beiträge
 
Delphi 6 Professional
 
#5

AW: OPC Server debuggen

  Alt 2. Jul 2021, 13:54
Danke für die Hinweise.
In eine Log-Datei zu schreiben habe ich schon probiert.
Da tauchen als Einträge nur die sekündlichen Timer-Events auf.

bei
TCPServer.OnAccept:=EventServerConnect;
z.B. kommt nichts, auch nicht, wenn ich erfogreich eine Verbindung vom Testclient
aus aufbaue.

Wobei
TTCPServer = class(TCustomWSocket)
ist.
  Mit Zitat antworten Zitat
joacim

Registriert seit: 30. Apr 2003
Ort: Immenrode
60 Beiträge
 
Delphi 6 Professional
 
#6

AW: OPC Server debuggen

  Alt 2. Jul 2021, 17:36
Ich bin einen Schritt weiter. Das ganze ist ein Missverständnis. In einem Gespräch konnte ich herausbekommen, dass der Zugriff des Clients nicht über TCP/IP läuft. Ich hatte mich durch das Vorhandensein von Sockets darauf versteift, dass der Client über TCPIP mit dem Server kommuniziert. In Wirklichkeit läuft das aber über dCOM! Der Socket Teil ist für den Datenempfang von von Messstationen gedacht. Da es solche auf meinem PC nicht gibt, passiert natürlich auch nichts. Jetzt brüte ich über dCOM.
  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 14:42 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