Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

1

24.08.2007, 13:22

Dbghelp MiniDumpWriteDump thread-safe machen

@alle die MiniDumpWriteDump nicht kennen:

MiniDumpWriteDump ermöglicht es Fehler die beim Enduser auftreten nachvollziehen zu können und zu debuggen.

So funktioniert es: Wenn das Programm abstürzt, kann es ein MiniDump schreiben, was der Enduser dem Entwickler zuschicken kann. Wenn der Entwickler noch die ganzen Builddaten hat(die im Debug- oder Releaseordner zu finden sind), kann er das MiniDump laden und bekommt dann alle Infos, die im MiniDump gespeichert sind, angezeigt, als ob das Programm bei ihm selbst abgestürzt wäre.

Vorteil: es müssen keine rießigen Logdateien geschrieben werden und es werden alle vorhanden Infos angezeigt, als ob das Programm beim Entwickler abgestürzt wäre. Das nachvollziehen des Fehler ist also meist kein Problem, weil alle lokalen Vars eingesehen werden können.

Benötigte Fähigkeiten: Man muss mit dem Debugger umgehen können, aber das sollte eigentlich jeder, der an einem größeren Projekt mal gearbeitet hat oder arbeitet.

Fazit: eine Bereicherung für jeden Software-Support. Schluss mit lästigen Testreihen über Telefon, ICQ o.ä.

http://msdn2.microsoft.com/en-us/library/ms680360.aspx ->Referenz
http://www.debuginfo.com/articles/effminidumps.html#minidumptypes -> Eine Einführung in das Thema


@alle die MiniDumpWirteDump kennen:

Nutzt ihr mehrere Threads? Wenn ja wie habt ihr die Zugriffe auf die DBGHelp abgesichert? Ich habe folgendes gefunden:

Zitat

Thread safety

MiniDumpWriteDump is part of the DBGHELP library. This library is not thread-safe, so any program using MiniDumpWriteDump should synchronize all threads before attempting to call MiniDumpWriteDump.


Nach dieser Aussage sollte es reichen wenn ich alle Threads blockiere. Könnt ihr das bestätigen oder wisst ihr anderes zu berichten?

Und ja ich habe schon Google & co.kg befragt. Ich will halt nur wissen, wie ihr das Problem löst.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

26.08.2007, 22:41

Hmm jeder der schonmal mit MiniDumps gearbeitet hat bitte einmal "pieps" machen ;) kann doch nicht sein, dass noch nie jemand hier bei der Porblematik "Softwaresupport" auf MiniDumps gestoßen ist.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Helmut

5x Contest-Sieger

Beiträge: 692

Wohnort: Bielefeld

  • Private Nachricht senden

4

27.08.2007, 22:56

*Piep*

War auch mit Threads, hab das Problem aber einfach ignoriert.

Mit ner CriticalSection um jeden Aufruf aus der API sollteste aber sicher fahren.
Sei stets geduldig gegenüber Leuten, die nicht mit dir übereinstimmen. Sie haben ein Recht auf ihren Standpunkt - trotz ihrer lächerlichen Meinung. (F. Hollaender)

Nox

Supermoderator

  • »Nox« ist der Autor dieses Themas

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

5

27.08.2007, 23:21

Japp habe ich mir auch überlegt. Was habt ihr für MIINIDUMP_TYPE+Callback genommen? und wie habt ihr das Problem umgangen, dass __except nicht mit Klassen klar kommt und catch keinerlei EXCEPTION_POINTER kennt?

Weil ích bräuchte möglichst viele Infos, nur weiß ich nicht wirklich auf welche ich verzichten kann.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

Werbeanzeige