:: Home :: Get Hosted :: PPM FAQ :: Forum FAQ :: Privacy Policy :: Search :: Memberlist :: Usergroups :: Register :: Profile :: Log in to check your private messages :: Log in ::

Do you want to advertise at Project Perfect Mod. Find out how to do it HERE.

The time now is Sat Oct 23, 2021 6:30 pm
All times are UTC + 0
 Forum index » Modding Central » Red Alert 2 Editing Forum » Tutorials Vault
How to find cause of game crashes
Moderators: Global Moderators, Red Alert 2 Moderators
Post new topic   Reply to topic Page 1 of 1 [4 Posts] Mark the topic unread ::  View previous topic :: View next topic
Author Message
TAK02
General


Joined: 28 Jun 2015
Location: It was Damascus.

PostPosted: Fri Jun 11, 2021 2:56 pm    Post subject:  How to find cause of game crashes Reply with quote  Mark this post and the followings unread

This tutorial will teach you how to determine the cause of a game crash on your own.
In some cases it'll work, and in others it won't. For various reasons.

Whenever you get a crash, first thing you're going to do is look for the except.txt generated at the time of the crash.

If you crashed in TS, FS, RA2, YR, be it with or without client, you'll get an except.txt or and except_cncnet.txt generated.
If your version of the game somehow doesn't generate an except you're doomed.

If you crashed in Ares DLL (stand-alone version that shouldn't be used for mod releases) you'll find the except TXT in debug > snapshot-XXXXXXX-XXXXX where the Xs are date and time of the crash.

Don't ask me about the Ares DLL CnCNet client thing; I haven't dabbled with it yet. When I eventually do I may or may not come back to this and append it, so how about those who use CnCNet client + Ares DLL already add that bit please #Tongue

When you find the except, open it.
(example for a except.txt, how it might look like, what hex numbers it'll give you)
It'll look something like this (this is stand-alone Ares DLL)
(example for a except.txt, how it might look like, what hex numbers it'll give you)
Spoiler (click here to read it):
example for a except.txt, how it might look like, what hex numbers it'll give you
Code:
Internal Error encountered!
---------------------
Ares version: 20.333.289
---------------------
Exception code: C0000005 at 00529A14
Registers:
EIP: 00529A14   ESP: 0019CCD8   EBP: 0019CD94
EAX: 0019CD60   EBX: 0083DE68   ECX: 0AE7F000
EDX: 0019CCFC   ESI: 0AC93A88   EDI: 0019CF30

Stack dump:
0019CCD8: 0AE7F000
0019CCDC: 00889F64
0019CCE0: 00000000
0019CCE4: 00000000
0019CCE8: 00000000
0019CCEC: 0019CCF0
0019CCF0: E9DCE2D8
0019CCF4: 00000002
0019CCF8: 31023631
0019CCFC: 00000000
0019CD00: 00000000
0019CD04: 00000000
0019CD08: 00000000
0019CD0C: 00000000
0019CD10: 00000000
0019CD14: 00000000
0019CD18: 00000000
0019CD1C: 00000000
0019CD20: 00000000
0019CD24: 00000000
0019CD28: 00000000
0019CD2C: 00000000
0019CD30: 00000000
0019CD34: 00000000
0019CD38: 00000000
0019CD3C: 00689FA5
0019CD40: 0019CD60
0019CD44: 0083DE68
0019CD48: 9700FE35
0019CD4C: 0AE7F000
0019CD50: 0019CF30
0019CD54: 00000000
0019CD58: 00000000
0019CD5C: 0003D488
0019CD60: 0AE7F000
0019CD64: 00000000
0019CD68: 70796157
0019CD6C: 746E696F
0019CD70: 30313532
0019CD74: FF003631
0019CD78: 00000000
0019CD7C: 00000000
0019CD80: 00000000
0019CD84: 0019CE00
0019CD88: 00000000
0019CD8C: 00000000
0019CD90: 00820000
0019CD94: 0AC93A88
0019CD98: 00687858
0019CD9C: 0019CF30
0019CDA0: 0AC94CF1
0019CDA4: 0019D045
0019CDA8: 00000000
0019CDAC: 00000001
0019CDB0: 0000A990
0019CDB4: 0AC93A88
0019CDB8: 0019CF30
0019CDBC: 007E1AF4
0019CDC0: 0AC94CE4
0019CDC4: 13270760
0019CDC8: 007E1AFC
0019CDCC: 007E1B0C
0019CDD0: 132990B0
0019CDD4: 00000000
0019CDD8: 007E1B0C
0019CDDC: 00000000
0019CDE0: 132AC200
0019CDE4: 123CE2B8
0019CDE8: 00000080
0019CDEC: 000000A0
0019CDF0: 00000001
0019CDF4: 123CE358
0019CDF8: 00000000
0019CDFC: 00000000
0019CE00: 74717F19
0019CE04: 0A0435F1
0019CE08: 0019CE30
0019CE0C: 76A60396
0019CE10: ABABABAB
0019CE14: 771A2A8C
0019CE18: 76A603BA
0019CE1C: 00000518
0019CE20: 0019D038
0019CE24: 007E16B0
0019CE28: 0A0D6F00
0019CE2C: 00000001
0019CE30: 00000000
0019CE34: FFFFFFFF
0019CE38: FFFFFFFF
0019CE3C: 13299120
0019CE40: 00000000
0019CE44: 00000201
0019CE48: 00000000
0019CE4C: 134F0000
0019CE50: 00000000
0019CE54: 00000000
0019CE58: 00000000
0019CE5C: 00000000
0019CE60: 00000000
0019CE64: FFFFFFFF
0019CE68: FFFFFFFF
0019CE6C: 00000000
0019CE70: 00000000
0019CE74: 00000000
0019CE78: 00000000
0019CE7C: 00000000
0019CE80: 00000000
0019CE84: 00000000
0019CE88: 00000000
0019CE8C: 00000001
0019CE90: 3FEE87CC
0019CE94: 4B1107A6
0019CE98: 197F7174
0019CE9C: FC70D9CC
0019CEA0: 72656D41
0019CEA4: 6E616369
0019CEA8: 494E0073
0019CEAC: 8CC39500
0019CEB0: 65049E9C
0019CEB4: 00069F80
0019CEB8: 00000024
0019CEBC: 63726550
0019CEC0: 42746E65
0019CEC4: 746C6975
0019CEC8: 3030313D
0019CECC: 6C500A0D
0019CED0: 72657961
0019CED4: 746E6F43
0019CED8: 3D6C6F72
0019CEDC: 0A0D6F6E
0019CEE0: 65646F4E
0019CEE4: 6E756F43
0019CEE8: 33313D74
0019CEEC: 65540A0D
0019CEF0: 656D614E
0019CEF4: 4C4C413A
0019CEF8: 646D3730
0019CEFC: 00766153
0019CF00: 8465668A
0019CF04: 4AA6EB6E
0019CF08: 379FA292
0019CF0C: 7543FAE8
0019CF10: 006867C3
0019CF14: 0068684A
0019CF18: 134F1F90
0019CF1C: 00000001
0019CF20: 00000000
0019CF24: 00000004
0019CF28: 007E4C30
0019CF2C: 0019CF38
0019CF30: 007E1AF4
0019CF34: 0083DE68
0019CF38: 134F34E0
0019CF3C: 007E1AFC
0019CF40: 007E1B0C
0019CF44: 134F34E0
0019CF48: 00000000
0019CF4C: 007E1B0C
0019CF50: 00000000
0019CF54: 10B1DB40
0019CF58: 12288628
0019CF5C: 00000160
0019CF60: 00000280
0019CF64: 004A3801
0019CF68: 122888B0
0019CF6C: 00000000
0019CF70: 460ABC01
0019CF74: EE87CC1C
0019CF78: 1107A63F
0019CF7C: 7F71744B
0019CF80: 70D9CC19
0019CF84: 000000FC
0019CF88: 007E16B0
0019CF8C: 088D8F00
0019CF90: 00000001
0019CF94: 00000000
0019CF98: FFFFFFFF
0019CF9C: FFFFFFFF
0019CFA0: 134F35C0
0019CFA4: 00000000
0019CFA8: 00000001
0019CFAC: 00000000
0019CFB0: 00000000
0019CFB4: 00000000
0019CFB8: 00000000
0019CFBC: 00000000
0019CFC0: 00000000
0019CFC4: 00000000
0019CFC8: FFFFFFFF
0019CFCC: FFFFFFFF
0019CFD0: 00000000
0019CFD4: 00000000
0019CFD8: 00000000
0019CFDC: 00642C00
0019CFE0: 00000000
0019CFE4: 00000000
0019CFE8: 00000200
0019CFEC: 00000000
0019CFF0: 00000001
0019CFF4: 006849CE
0019CFF8: 00000001
0019CFFC: 0000001B
0019D000: 0019D244
0019D004: 00000000
0019D008: 134F1F90
0019D00C: 000000A4
0019D010: 00000237
0019D014: 00760065
0019D018: 00630069
0019D01C: 005C0065
0019D020: 0075004D
0019D024: 005C0070
0019D028: 0000002A
0019D02C: 003F005C
0019D030: 77254FB0
0019D034: 0EFC0290
0019D038: 304C4C41
0019D03C: 444D5337
0019D040: 50414D2E
0019D044: 77254F00
0019D048: 0F051FD0
0019D04C: C0000034
0019D050: 00000000
0019D054: 0F051FC8
0019D058: 0019D0AC
0019D05C: 771B7924
0019D060: 0F130E70
0019D064: 00CD0000
0019D068: 00000001
0019D06C: 236B5D20
0019D070: 00000000
0019D074: 76A50600
0019D078: 00000001
0019D07C: 00000000
0019D080: 00000064
0019D084: 00000000
0019D088: 0F0AB510
0019D08C: 000000DF
0019D090: 00000000
0019D094: 00DF015A
0019D098: 0F1290A0
0019D09C: 0F130E70
0019D0A0: 0A0429E9
0019D0A4: 00000000
0019D0A8: C0000034
0019D0AC: 7718AB69
0019D0B0: 77173C06
0019D0B4: 0019D0A0
0019D0B8: 00000000
0019D0BC: 0019FED4
0019D0C0: 771AAD20
0019D0C4: 0A042995
0019D0C8: FFFFFFFE
0019D0CC: 0019D170
0019D0D0: 76A60363
0019D0D4: 00000002


Nearly all of it is unusable to the average modder. It might also look different, depending on if you were using Ares, vanilla game, HAres...

What you'll need is at the top. The EIP address.
In this case the EIP is 00529A14


You need the EIP of the crash to start looking for the cause.
Of course, just because you caught one error doesn't mean there isn't another.

And sometimes the EIP is either still unknown or just outright garbage; we had an YR modder on WinXP who had such things not that long ago.

Once you have the EIP, you go here: https://modenc.renegadeprojects.com/Internal_Error/YR

Then you hit Ctrl+F and copy-paste or type in the EIP you got, in this case 00529A14, without the EIP: tag

Alternatively just alter the URL appropriately and spare yourself the Ctrl+F
You just have to add #eip_ and then the EIP itself.
Like so: https://modenc.renegadeprojects.com/Internal_Error/YR#eip_00529A14

If you find something, congrats! Read and surmise from that what went wrong on your end.

If you find nothing, congrats! Or you're doomed.
It means the EIP hasn't been documented yet, and that means either no-one knows the actual cause and/or fix (yet), or you're the first person to get the EIP.

If the later please update ModEnc when you find the cause and its fix so others may benefit.

Ares DLL in this case has crash dump that could help.
Ares DLL also has a log function you ought to make use of, see here: http://ares-developers.github.io/Ares-docs/ui-features/commandlinearguments.html?highlight=log
Generally that debug.log is created loose in the debug folder, but also a copy in the snapshot folder in the event of a crash, but the file will only be generated if enabled by the modder.

The logs also get numbered based on when they were generated, so over time remember to delete the logs you don't need; they're probably useless clutter after a month or two.

You ought to open the debug.log and look for anything preceded by [Developer warning] though even if you didn't get a crash.
_________________
One and only developer of the Command & Conquer Dune "C&C D" mod.
m7 wrote:
I tend to release things I create so that assets are never lost to hard drive problems, accidental deletion, or me having to pretend to care about rippers taking things from my project when it is done. #Tongue

Last edited by TAK02 on Tue Jun 22, 2021 8:39 am; edited 3 times in total

Back to top
View user's profile Send private message Send e-mail Visit poster's website ModDB Profile ID YouTube User URL Twitter Channel URL Skype Account
G-E
General


Joined: 09 Feb 2015

PostPosted: Fri Jun 11, 2021 5:40 pm    Post subject: Re: How to find cause of game crashes Reply with quote  Mark this post and the followings unread

TAK02 wrote:
If you crashed in TS, FS, RA2, YR, ....

The EIP list is only for YR, don't get people's hopes up.
_________________
http://www.moddb.com/mods/scorched-earth-ra2-mod-with-smart-ai

Back to top
View user's profile Send private message
TAK02
General


Joined: 28 Jun 2015
Location: It was Damascus.

PostPosted: Fri Jun 11, 2021 5:57 pm    Post subject: Re: How to find cause of game crashes Reply with quote  Mark this post and the followings unread

G-E wrote:
TAK02 wrote:
If you crashed in TS, FS, RA2, YR, ....

The EIP list is only for YR, don't get people's hopes up.

I know I posted at least one or two RA2 EIPs in that YR-only list.

And for TS there's this, unfortunately very short, list: https://modenc.renegadeprojects.com/Internal_Error#Tiberian_Sun_2.03

Back to top
View user's profile Send private message Send e-mail Visit poster's website ModDB Profile ID YouTube User URL Twitter Channel URL Skype Account
cxtian39
Commander


Joined: 11 Feb 2016

PostPosted: Tue Jul 06, 2021 1:40 am    Post subject: Reply with quote  Mark this post and the followings unread

GE's tool's useful I have to admit.
_________________
I DON'T extract models from Rivals.
I play Rivals tho, PM me for a fight.

Back to top
View user's profile Send private message Skype Account
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [4 Posts] Mark the topic unread ::  View previous topic :: View next topic
 Forum index » Modding Central » Red Alert 2 Editing Forum » Tutorials Vault
Jump to:  
Share on TwitterShare on FacebookShare on Google+Share on DiggShare on RedditShare on PInterestShare on Del.icio.usShare on Stumble Upon
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © phpBB Group

[ Time: 0.1745s ][ Queries: 11 (0.0083s) ][ Debug on ]