Ik ben een - mag ik wel zeggen - ervaren delphi-programmeur, maar ik stuit nu toch op iets waar ik nog geen kaas van gegeten heb. Ik wil, zoals mijn topictitel al suggereert, een stack-trace maken in runtime.
Scenario:
Ik heb een applicatie gemaakt in Delphi 5 Pro, met een AppEvents component erin, waarmee ik OnException afvang om vervolgens een net fout-dialoogje weer te geven. In dat dialoogje zit ook een knopje "Report", waarmee een rapportje gegenereerd wordt met wat info over de PC waar het op draait en de foutmelding. Nu wil ik in dat rapportje dus ook een stack-trace opnemen, vanaf het punt waar de exception plaatsvond (uiteraard).
Wat heb ik al geprobeerd:
Er zijn een aantal componenten op internet te krijgen (ook wel freeware) die een stack-trace doen. Ze vereisen dan dat je een MAP-bestand laat genereren door de compiler. Geen probleem. Ze geven ook keurig de naam van de procedures en regelnummers enzo mee. Maar: ze lijken allemaal te tracen vanaf het moment dat op het Report-knopje gedrukt wordt, en dan is de exception al afgehandeld. Sterker nog, de procedure waarin de exception plaatsvond, staat in de hele stack-trace er dan niet eens bij.
Dus wat zoek ik:
Een componentje die automagisch bij een exception een stack-trace maakt vanaf de procedure waarin de exception ontstond. Met in die stack-trace namen van de procedures en regelnummers (net als de debug-time stack-trace van delphi zelf).
Ik hoop dat het een beetje duidelijk is... Bedankt alvast
Scenario:
Ik heb een applicatie gemaakt in Delphi 5 Pro, met een AppEvents component erin, waarmee ik OnException afvang om vervolgens een net fout-dialoogje weer te geven. In dat dialoogje zit ook een knopje "Report", waarmee een rapportje gegenereerd wordt met wat info over de PC waar het op draait en de foutmelding. Nu wil ik in dat rapportje dus ook een stack-trace opnemen, vanaf het punt waar de exception plaatsvond (uiteraard).
Wat heb ik al geprobeerd:
Er zijn een aantal componenten op internet te krijgen (ook wel freeware) die een stack-trace doen. Ze vereisen dan dat je een MAP-bestand laat genereren door de compiler. Geen probleem. Ze geven ook keurig de naam van de procedures en regelnummers enzo mee. Maar: ze lijken allemaal te tracen vanaf het moment dat op het Report-knopje gedrukt wordt, en dan is de exception al afgehandeld. Sterker nog, de procedure waarin de exception plaatsvond, staat in de hele stack-trace er dan niet eens bij.
Dus wat zoek ik:
Een componentje die automagisch bij een exception een stack-trace maakt vanaf de procedure waarin de exception ontstond. Met in die stack-trace namen van de procedures en regelnummers (net als de debug-time stack-trace van delphi zelf).
Ik hoop dat het een beetje duidelijk is... Bedankt alvast
日本!🎌