Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Card Album System Add Complete Client execution error

Banned
Banned
Joined
Feb 22, 2017
Messages
37
Reaction score
0
All the sources are from HERAV2 and the build is completely successful However, when the client runs the applet of the card album, the client crashes

24/08/2022 - 22:06:49 (Aug 24 2022 20:57:50 0 rCnt=1Neuz.exe caused an EXCEPTION_ACCESS_VIOLATION in module Neuz.exe at 0023:011FF331, _output_l()+2367 byte(s), f:\dd\vctools\crt\crtw32\stdio\output.c, line 1648+0001 byte(s) - RegistersEAX=00000018 EBX=00000000 ECX=7FFFFFFE EDX=FFFFFFFF ESI=00000018EDI=001EA5A4 EBP=001EA510 ESP=001EA284 EIP=011FF331 FLG=00010202CS=0023 DS=002B SS=002B ES=002B FS=0053 GS=002B0023:011FF331 Neuz.exe, _output_l()+2367 byte(s)0023:011EA989 Neuz.exe, _vscprintf_helper()+0085 byte(s)0023:011EA92F Neuz.exe, _vscprintf()+0021 byte(s)0023:00B41E76 Neuz.exe, ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::FormatV()+0038 byte(s)0023:00B41E1A Neuz.exe, ATL::CStringT<char,StrTraitMFC<char,ATL::ChTraitsCRT<char> > >::Format()+0026 byte(s)0023:0104EBF0 Neuz.exe, CWndCardAlbum::Refresh()+0928 byte(s)0023:0104E62C Neuz.exe, CWndCardAlbum::OnInitialUpdate()+0412 byte(s)0023:00CA316B Neuz.exe, CWndBase::Create()+0427 byte(s)0023:00C63A84 Neuz.exe, CWndNeuz::InitDialog()+0244 byte(s)0023:0104D74E Neuz.exe, CWndCardAlbum::Initialize()+0062 byte(s)0023:00C582CF Neuz.exe, CWndMgr::CreateApplet()+0367 byte(s)0023:00C42A37 Neuz.exe, CWndMgr::ObjectExecutor()+1591 byte(s)0023:00DF12B8 Neuz.exe, CWndTaskBarInterface::OnLButtonUp()+0328 byte(s)0023:00CA79DC Neuz.exe, CWndBase::DefWindowProcA()+0492 byte(s)0023:00CA6B5E Neuz.exe, CWndBase::WindowProc()+1566 byte(s)0023:00CA6C49 Neuz.exe, CWndBase::WindowProc()+1801 byte(s)0023:00CA651A Neuz.exe, CWndBase::WindowRootProc()+1322 byte(s)0023:00BE6872 Neuz.exe, CNeuzApp::MsgProc()+0338 byte(s)0023:00C0F936 Neuz.exe, WndProc()+0038 byte(s)0023:76C20F1B USER32.dll, AddClipboardFormatListener()+0075 byte(s)0023:76C17ECA USER32.dll, GetClassLongW()+1962 byte(s)0023:76C15C3A USER32.dll, DispatchMessageW()+0586 byte(s)0023:76C07DC0 USER32.dll, DispatchMessageA()+0016 byte(s)0023:00C0EE75 Neuz.exe, CD3DApplication::Run()+0293 byte(s)0023:00BEEB3C Neuz.exe, WinMain()+0332 byte(s)0023:011F7836 Neuz.exe, __tmainCRTStartup()+0253 byte(s)0023:76A9FA29 KERNEL32.DLL, BaseThreadInitThunk()+0025 byte(s)0023:775D7A9E ntdll.dll, RtlGetAppContainerNamedObjectPath()+0286 byte(s)0023:775D7A6E ntdll.dll, RtlGetAppContainerNamedObjectPath()+0238 byte(s))


Also, when the crash light is on, I can't see the monster pictures in the card album
- a reference photograph
 
Banned
Banned
Joined
Feb 22, 2017
Messages
37
Reaction score
0

Debug when the client turned on the card album system
 
Upvote 0
Newbie Spellweaver
Joined
Sep 8, 2011
Messages
67
Reaction score
252

Debug when the client turned on the card album system
You should watch tutorials on debugging and using stack trace, and locals / auto variables, etc.

It's crashing on the internals of CString.Format which could suggest that something is wrong where you're calling that in CWndCardAlbum::Refresh. You see, p is not properly dereferencing by the looks of it in the picture.

Code:
if (nID < MAX_CARD_ALBUM)
		{
			nCardID = II_SYS_CARD_SMALLAIBATT+nID;
			CardProp* pCardProp = prj.GetCardProp( nCardID );
					// Icon
			CString strCardImage;
			strCardImage.Format("card_%s.tga", pCardProp->szCardImage);

In this case, the first thing I would check is to see if the CardProp is loading properly. Generally, if not, it would crash beforehand, but it still is a good place to check due to the possibility of memory corruption.
 
Upvote 0
Newbie Spellweaver
Joined
Sep 8, 2011
Messages
67
Reaction score
252
I'm not sure how to checkWhen I checked and checked, nothing changed. "CardProp "


You probably checked the code itself, not if there was a valid return value from the prj.GetCardProp during execution where it was called or even if the file was loaded. I posted above, learn to use the debugger please and thank you.
 
Upvote 0
Back
Top