@
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:
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.