Details opslaan bij een crashende applicatie.

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 23:50
Zodra in Windows een applicatie crasht, komt er een schermpje naar voren met de melding "... has stopped working". Vervolgens wordt er een dumpfile gemaakt, en kan je mogelijk een debugger starten.
Ook wordt er een event in de Windows Even Log weggeschreven met de details van de crash.

Ik wil dat tijdens de melding "... has stopped working" getoond wordt (en de applicatie nog open staat) met een programma wat relevante gegevens ergens wegschrijven. (Gegevens zoals algemene CPU-belasting, geheugengebruik e.d met details die ik niet uit de standaard dumpfiles kan halen.)


Op dit moment lukt mij het niet om dit programma te starten op het moment dat de applicatie is gecrasht. Zodra de WER klaar is, sluit het venster en de applicatie direct.
Ik heb al bijvoorbeeld geprobeerd om een event op de Windows Event Log te zetten, maar zodra mijn programma door de Windows Task Scheduler wordt gestart is het al te laat en is de applicatie al helemaal gesloten. Het PID-nummer bestaat dus niet meer.

Er is genoeg informatie te vinden over de Error Reporting (bijvoorbeeld: MSDN: Using WER (Windows) ) en de dump files daarbij, maar niet om een andere applicatie te starten op het moment van crashen.
De methode om tegelijkertijd met het programma wat waarschijnlijk gaat crashen een andere monitor-applicatie te laten meedraaien is het uiterste redmiddel als we geen andere optie hebben, maar liever niet.

Specifieke software? Getest met 64-bit Windows 7 SP1, 8.1 en Windows Server 2008 Std en de applicaties de crashen zijn 32-bit applicaties.


Dus heeft iemand anders al met dit bijltje gehakt om een programma te starten tijdens het crashen van een draaiend programma?

Speel ook Balls Connect en Repeat

Alle reacties


Acties:
  • 0 Henk 'm!

Verwijderd

Hoi
Systeemdiagnose maken in Windows:

Als administrator:
Blader naar C:\Windows\system32 en Klik met rechter muisknop op perfmon.exe > Als administrator Uitvoeren.

In de linker kolom open:
Prestaties\Gegevensverzamelaarsets\Systeem
Klik met je rechter muisknop op Systemdiagnostics en klik op Starten

Tijdens de diagnose of wanneer de diagnose voltooid is:
In de linker kolom open:
Prestaties\Rapporten\Systeem\Systemdiagnostics
Selecteer de diagnose.
In de 2de kolom vanaf links zie je nu een aantal blokken.
In het tweede blok van Boven zie je "Diagnostische resultaten" met meldingen.
In dit blok zie je Waarschuwingen waaronder Fout, Basissysteemcontroles en Prestaties.
Daaronder staan meer blokken met informatie.

De diagnostische bestanden worden bewaard in de map C:\PerfLogs\*
Deze map heb je geen toegang toe maar als administrator kan je op doorgaan klikken.
In de map C:\PerfLogs\System\ zie je een map met een naam gelijk aan de gemaakte diagnose.
Report.html bevat de diagnose gegevens die je ook kan openen in een browser.

Succes.

[ Voor 10% gewijzigd door Verwijderd op 27-07-2016 19:12 ]


Acties:
  • 0 Henk 'm!

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 23:50
Bedankt voor jouw antwoord, maar op dit moment gebruiken we al een vergelijkbare oplossing.
Het probleem zit in het punt dat gebruikers die die applicaties laten crashen geen adminrechten hebben. En om te voorkomen dat er steeds een beheerder handmatig applicaties moet starten om de gegevens te loggen, willen we dat dus nu automatisch laten doen.

Het principe wat we nu hebben gemaakt werkt zoals we graag zouden willen, alleen is timing te laat.

Speel ook Balls Connect en Repeat