====== Creating a Crashdump to help fix crashes. ====== If you have a crash you can reproduce, but the devs can't, making a minidump of the crash can help them identify what might be wrong. This article will describe how to make one. == Downloading and Installing WinDbg == WinDbg is Microsoft's debugger. If you have a 32bit Windows, download WinDbg from [[http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx#ERB]]. If you have a 64bit Windows, download WinDbg from [[http://www.microsoft.com/whdc/devtools/debugging/install64bit.mspx#E4C]] (You will most likely want the AMD64). After your download is complete, double-click the file to install it. //Next//, //I Agree//, //Next//, //Complete//, //Install//, //Finish// will do just fine. == Running WinDbg == In your start-menu you should find //WinDbg// under //All Programs// >> //Debugging Tools for Windows//. On Windows Vista or Windows 7 you will need to run WinDBG as administrator. Right click the shortcut, go to properties, click Open File Location. Then right click __//windbg.exe//__ (the .exe may be hidden, if so itll just say windbg) and go to properties. Click the compatability tab and put a checkbox on Run as Administrator. Now double click windbg or open it from your start menu again, and itll prompt UAC if its enabled to run as administrator, click yes and it will open. If WinDBG is not running as Administrator, you will get an error when trying to attach to PlayOnline. == Attaching WinDbg to POL and creating a dump == First, start POL through //launcher.exe// (the usual way to start POL with Windower. Then go back to WinDbg and go to //File// > //Attach to a Process//. Select pol.exe from the list and hit //OK//. At this point POL will hang. This is completely normal. In WinDbg hit F5 to let POL continue. If you see //*BUSY* Debuggee is running...// at the bottom of the command window in WinDbg, POL is running. Whenever you don't see that, or POL hangs, return to WinDbg and hit F5 again. This might happen a few times when POL loads DLLs. The window will read something like this: (71f0.7068): Access violation - code c0000005 (first chance) First chance exceptions are reported before any exception handling. This exception may be expected and handled. *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\Windower 3.4\plugins\spellcast.dll - spellcast!CreateInstance+0x7f79d: 00000000`1e5c44dd 8908 mov dword ptr [eax],ecx ds:002b:00000000`00000000=???????? When you reach the point where POL or FFXI normally crashes, it will now hang, and you should see something like the following in the command window: (71f0.72a0): C++ EH exception - code e06d7363 (first chance) (71f0.72a0): C++ EH exception - code e06d7363 (!!! second chance !!!) *** ERROR: Symbol file could not be found. Defaulted to export symbols for KERNEL32.dll - KERNEL32!RaiseException+0x59: 00000000`7734f35f c9 leave *** WARNING: Unable to verify checksum for Hook.dll *** ERROR: Symbol file could not be found. Defaulted to export symbols for Hook.dll - *** WARNING: Unable to verify checksum for C:\Program Files (x86)\PlayOnline\SquareEnix\FINAL FANTASY XI\FFXiMain.dll *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Program Files (x86)\PlayOnline\SquareEnix\FINAL FANTASY XI\FFXiMain.dll - *** ERROR: Symbol file could not be found. Defaulted to export symbols for C:\Windows\SysWOW64\nvd3dum.dll - Once the game has crashed and WinDBG has shown the error popped up, you can now create a dump. to do this you will want to type a command in the command box, where "Debuggee is running" use to display (it should now be a white box instead of saying Debuggee is running if you crashed) As shown: {{:guides:windbg.png|WinDBG Command Prompt example}} The command you want to type is __//.dump /m C:\filename.dmp//__. That is a period before the word dump! Save the file anywhere you choose, and give it a name that has some meaning like "spellcast_cure3crash.dmp". Then, upload the file in some way, so the developers can get ahold of it, use a free hosting site if you need, just dont use mediafire, it doesnt work for some. I recommend: http://www.megafileupload.com/ For AdBlockPlus users, these 3 filters are recommended on the megafileupload.com domain: \\ #TABLE(bgcolor=#ff9900) \\ #DIV(class=big_banner) \\ #UL(class=two_cols) \\ It will remove the advertisements for you. Once you have your dump uploaded, post it to a RELEVANT thread or make a new one if its a new bug. Note however, you may need to use a latest build of a plugin or windower for a crash dump to be of any use, but in the future we will be saving the files needed for each version. == Detaching WinDbg == Whenever you want to detach WinDbg from POL or FFXI, just go to //Debug// >> //Detach Debuggee//. If POL or FFXI had crashed, it will then crash as usual. If it was running normally, it will continue running normally. If POL is running normal and hasnt crashed yet, you will need to go to //Debug// >> //Break// first before Detaching.