Erstellung eines Debug Crashlogs unter Win

Hallo Zusammen,

seite geraumer Zeit versuche ich nun schon einen anständigen Crashlog (ausführlichen) unter Windows zu erzeugen.

In diversen Threads findet man dazu bruchstückhafte Hinweiße, was alles berücksichtigt werden muss.

Folgendes ist mir bis jetzt bekannt:

  • Bei cmake muss [FONT=‘courier new’]WITH_COREDEBUG[/FONT] aktiviert sein.

  • Bei der Erzeugung muss in z.B. Microsoft Visual Studio 2010 [FONT=‘courier new’]DEBUG[/FONT] eingestellt sein.

  • Nach der Erzeugung sollten sich [FONT=‘courier new’].pdb[/FONT] Dateien im Ordner Debug befinden (war gegeben).

  • Alle Notwendigen Ordner bzw. dll’s in den Debug Ordner hinzupacken und ganz normal den Loginserver & Worldserver starten.

  • Nach einem Absturz, sollte sich im Unterordner [FONT=‘courier new’]Crashes[/FONT] eine Logdatei (ausführlicher Crashlog) befinden.

Soweit so gut, nur sieht der ausführliche Crashlog nicht wirklich anderster aus, im Gegensatz zu dem normalen (unbrauchbaren).

Nun ist meine Frage, ist dies hier ein ausführlicher:

unknown_worldserver.exe_2-4_19-12-8_DEBUG.txt

oder habe ich etwas wichtiges vergessen? Falls nicht kann man mit diesem auch etwas anfangen, oder gibt es noch eine andere Möglichkeit, einen hilfreicheren Crashlog unter Windows zu erzeugen?

Normaler als Vergleich, ist durch den selben Fehler entstanden:

unknown_worldserver.exe_1-4_13-5-0_RELEASE.txt

MfG, FireEmerald

deine logs sind normale Server logs und noch keine Debug log

zum Debuggen benötigst du denn GDB.

Dazu installierst du dir MinGW von hier

nun erstellst du dir eine Batch feile mit der Endung .cmd oder .bat

@ECHO OFF

set gdb = C:MinGWbingdb.exe
set gdbMacro = C:sourcesTrinityCorebuildbinDebugcrashreport.gdb
set daemon = C:sourcesTrinityCorebuildbinDebugworldserver.exe
set logDir = C:sourcesTrinityCorebuildbinDebugbacktrace.log
set logPath = C:sourcesTrinityCorebuildbinDebug

CLS
ECHO Trinity Started %time:~0,5% %date:~1%
:SERVERLOOP

if EXIST %logDir% (
set datum=%date%
set zeit=%time%

for /F “delims=. tokens=1” %%i in (“%datum%”) do set tag=%%i
for /F “delims=. tokens=2” %%i in (“%datum%”) do set monat=%%i
for /F “delims=. tokens=3” %%i in (“%datum%”) do set jahr=%%i

for /F “delims=: tokens=1” %%i in (“%zeit%”) do set stunde=%%i
for /F “delims=: tokens=2” %%i in (“%zeit%”) do set minute=%%i
for /F “delims=: tokens=3” %%i in (“%zeit%”) do set sekvoll=%%i
for /F “delims=, tokens=1” %%i in (“%sekvoll%”) do set sekunde=%%i

ren %logDir% %logPath%crashlog_%jahr%-%monat%-%tag%_%stunde%-%minute%-%sekunde%.log
)
%gdb% -x %gdbMacro% %daemon%

ECHO Trinity Restarted %time:~0,5% %date:~1%
ECHO.
GOTO SERVERLOOP
:END
pause

zum erstellen des Debug logs Solde es ausreichen.