Crash Issue
Upgraded to the latest build and applied all the SQL but many of my spells are crashing zones (windows) .. What am I doing wrong ?
Morty |
Build with debug information, attach the debugger to a running zone, make it crash, post the call stack.
|
how u attach debugger to a running zone?
|
Debug -> Attach to Process
|
Alright thats ... I'm used to just getting a core drop and then doing a dbg on it but windows is a whole other ball game .. I'll see if I can find that option in my compiler ..
morty |
Debug Info ?
Can some one link me a good guide for debugging binary's and stuff here ? I mean it's totally different .. I compiled with debug mode and i have athe following:
EmuShareMem.dll EmuShareMem.exp EmuShareMem.ilk EmuShareMem.lib EmuShareMem.pdb World.bsc WorldDebug.exe WorldDebug.ilk WorldDebug.pdb ZonePerl.exe ZonePerl.ilk ZonePerl.pdb What do I do with these files other than the exe files do i move them in there as well do they play a part in the debugging ? And after I put them in there I boot the server then do Attach Process and open a new zone with the file or how does that work exactly *boggle* mort |
You most likely want to add debugging information to the release version if that is what is crashing. If zone.exe is all that's crashing then that's what you should focus on.
From here it depends on how you can duplicate the problem. If it is easy to reproduce then start the server and get your toon that can cause the crash to the zone. Look in the logs folder to find what the process ID is for the zone you are in. It's the number in the log file name. In Visual Studio select Debug->Attach to Process and find the zone.exe that has the same number as the log file. Make it crash, copy the call stack from Visual Studio and post it if you can't figure it out yourself. If it is not easy to reproduce then you will probably have better results with a minidump. Secrets posted information on how to force those to be generated by crashes. You open them in Visual Studio, click the green arrow, and it will show you where the crash occured. |
Ok excellent instructions man, I got as far as the copy the call stack.. where is the call stack and how do i copy it ?
|
The call stack window is one of the tabs at the bottom of the screen. You select the contents, copy, paste.
|
Finally figured it out hehe , good instructions like i said.
Hopefully you can also tell me how to fix it that would rock :) Code:
> Zone.exe!Mob::CalcFocusEffect(focusType type=focusManaCost, unsigned short focus_id=65535, unsigned short spell_id=7058, bool best_focus=false) Line 3707 + 0x6 bytes C++ Code:
for (int i = 0; i < EFFECT_COUNT; i++) { |
Looking at your call stack, and looking at the source code, I could see this crash happening if you had an item with no innate focus effect, but that item has an aug which does have
a focus effect. Not sure if that code has been altered recently, but this patch may fix it (totally untested): Code:
Index: spell_effects.cpp |
Quote:
Anyway , I assumed + means add, and - means take away while looking at that so thats what I did and did it manually.. Also updated to the latest build so it's compiling now hopefully it doesn't wig out on something else now ! hehe Much appreciated hopefully this will work :) Morty |
Well... That fix worked now i'm getting something else entirely ! haha .. Any ideas here??
Code:
> Zone.exe!Mob::ExecWeaponProc(unsigned short spell_id=19361, Mob * on=0x01564b08) Line 2728 + 0x10 bytes C++ |
Quote:
Check your spells table for 19361, if it isn't there that's the ultimate problem. But there should be some safety checks in the code for it. There's a few different functions that bump into this problem. Ultimately ExecWeaponProc can use some functions to check the validity of the spell before it tries to fire off. First check your spells table for that and get back to me. Thanks, Akkadius |
I know this is an old thread, but I am trying to figure out how to attach a debugger to a zone as well. I tried setting debugging to yes and changing the C++ settings on the zone, but when I compile, there is no zone.pdb file. Did how this works change or am I just doing it incorrectly?
|
All times are GMT -4. The time now is 12:22 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.