windows - Clarion baseret program i WinServer 2016, frosset. Forslag til brug for værktøjer, vi kunne bruge til at samle flere oplysninger

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en clarion-applikation, der kører i Win Server 2016 og taler til en sybase DB. I de sidste par uger finder vi, at applikationen bliver frosset til forskellige brugere på et givet tidspunkt. Men brugeren kan forlade sessionen som sådan og starte en ny, og det virker godt. Brugerne er kendt for at bruge flere forekomster af samme applikation på en fjernserver eller på flere servere. Når det er sagt, ønskede jeg at få flere oplysninger om frysning og kigget igennem applikationshændelseslogfiler i systemet, hvor jeg ser explorer.exe nedbrud, men disse korrelerer med tidspunktet for forekomsten af ​​problemet på bestemte tidspunkter, men ikke altid kontrolleret DB-transaktionslogfiler fra Sybase, og jeg finder ingen sammenbrud, fejl eller faste forbindelser. Når jeg har sagt det, da jeg har udtømt alle mulige muligheder, når jeg ud til jer at vide, om der er andre steder, jeg kan søge efter at samle flere oplysninger.


Jeg vil gerne vide om enhver applikation/værktøjer, som vi kunne bruge til at samle logfiler af en frosset clarion-applikation på vinduer. Også godt at vide, om nogen har konfronteret en sådan situation, og hvor og hvordan har jer kiggede på problemet.


Tak på forhånd for din hjælp i dette.

Bedste reference


Clarions runtime bibliotek og database drivere forventer en vedvarende forbindelse. Afbrydelser, der er normale med fjernbetjening ODBC kan forårsage et problem (inklusiv app hænger) medmindre du tester for dem på ABC fil mgr niveau og genforbinder eller bruger lignende trin til at teste og gendanne.


Hvis du leder efter specifikationer om, hvad der foregår mellem driveren og SQL-backenden, foreslår jeg at bruge Clarions tracefaciliteter i databasedriveren. Fra hjælpemnet: ' Log-driver I/O til fejlfinding ':


For at se sporoplysningerne i debugview skal du navngive målsporfilen 'DEBUG:'


Logging åbner den navngivne logfil for eksklusiv adgang. Hvis filen findes, tilføjes de nye logdata til filen.


On Demand Logging


For on-demand logning kan du bruge egen syntaks i dit program til betinget at slå forskellige niveauer af logning til og fra. Logningen er effektiv til måltabellen og enhver visning, som måltabellen er den primære tabel.


file{PROP:Profile}=Pathname   !Turns Clarion I/O logging on
file{PROP:Profile}="DEBUG:"   !Turns Clarion I/O logging on and 
                              !sends output via OutputDebugString()
                              !(viewable via debugview, etc)

file{PROP:Profile}=''         !Turns Clarion I/O logging off

PathName = file{PROP:Profile} !Queries the name of the log file

file{PROP:Log}=string         !Writes the string to the log file
file{PROP:Log}="DEBUG:"       !Writes the string to the log file

file{PROP:Details}=1          !Turns Record Buffer logging on

fFile{PROP:Details}=0         !Turns Record Buffer logging off


hvor stienavn er det fulde stinavn eller filnavnet til logfilen, der skal oprettes. Hvis du ikke angiver en sti, skriver driveren logfilen til den aktuelle mappe.


Du kan også udføre efterspørgsel ved at logge med en SEND () kommando og LOGFILE driverstrengen. Se LOGFILE for mere information.


Eksempel Jeg bruger ofte, hvilket var baseret på hjælpen ovenfor:


SYSTEM{PROP:DriverTracing} = '1'
 CRMNotes{PROP:TraceFile} = 'DEBUG:'
 CRMNotes{PROP:Details}=1 
 CRMNotes{PROP:Profile}= 'DEBUG:' 
 CRMNotes{PROP:LogSQL} = 1