From: Chris Frolik Newsgroups: comp.os.msdos.djgpp Subject: Getting useful information from the traceback Date: Mon, 15 Dec 1997 22:43:29 -0500 Organization: IndyNet - Indys Internet Gateway (info AT indy DOT net) Lines: 37 Message-ID: <3495F8E1.1C87@indy.net> NNTP-Posting-Host: ip75-108.ts.indy.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk I am writing a program with DJGPP + Allegro, and I have a bug in my program which causes the program to crash and print the registers and traceback onto the screen. Thanks to the wonderful symify utility, I can locate exactly which line number and which file the problem occurs in. However, now that I know *where* the problem occurs, I am still not sure *why*. Is there any useful information I can get out of the traceback to tell me what's happening? For example, am I dividing by zero, writing beyond the bounds of an array, etc? Is there any way to determine this? Here is the traceback: Shutting down Allegro Exiting due to signal SIGSEGV Page fault at eip=0000e5c7, error=0006 eax=fff607b8 ebx=00000000 ecx=c6047600 edx=00000000 esi=7fc7c0bb edi=00000000 ebp=fff608dc esp=fff607b8 program=C:\CHRIS\CPP\SPACEWAR\MAPED.EXE cs: sel=00a7 base=828fc000 limit=fff60fff ds: sel=00af base=828fc000 limit=fff60fff es: sel=00af base=828fc000 limit=fff60fff fs: sel=00bf base=00000000 limit=ffffffff gs: sel=00bf base=00000000 limit=ffffffff ss: sel=00af base=828fc000 limit=fff60fff Call frame traceback EIPs: 0x0000e5c7 _test_seg_size__12galaxy_tableiii+131, line 162 of tiles.cc 0x0000e65b _select_seg_size__12galaxy_tableii+55, line 178 of tiles.cc 0x00005fc8 _save_map__FP8PACKFILEPc+228, line 40 of save.cc 0x000041b6 _save_file__Fv+382, line 386 of file.cc ------ Thanks, -Chris Frolik frolikcc AT indy DOT net