Date: Tue, 12 May 1998 10:44:11 +0300 (IDT) From: Eli Zaretskii To: ^Hawk^ cc: djgpp AT delorie DOT com Subject: Re: Symify output is silly ... help please! In-Reply-To: <355d83e4.118624547@news.fast-net.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Precedence: bulk On Tue, 12 May 1998, ^Hawk^ wrote: > Call frame traceback EIPs: > 0x00008e89 _InfoMail__Fv+1081, line 786 of vgapu.cpp > > But the line 786 is simple a "}" for the end of the function > InfoMail(); ... :((= Was that program built with -fomit-frame-pointer? If so, it's payback time: programs compiled this way are difficult to debug because the stack frames cannot be traced back (the EBP register is used as a general-purpose register). >... what excact tould me this output ... what for > a fault is it ? Please explain it for me! The only thing that's unusual in this traceback is the value of EBP. It looks suspiciouslly like the string "3131" (`3' has the ASCII code of 0x33). So either you have overwritten the stack somewhere in the code preceding this crash, or maybe it's because you used -fomit-frame-pointer. I would tend to the first possibility, since it explains why the GPF happens in the closing "}": the code tried to pop the stack to get the return address, and GP Faulted because EBP's value is too large. > Exiting due to signal SIGSEGV > General Protection Fault at eip=00008e89 > eax=0011e140 ebx=0011c100 ecx=0000853c edx=0011e140 esi=00000054 > edi=000da5ec > ebp=33313331 esp=0011a590 program=D:\CPP\EXE\GAMBLER.EXE > cs: sel=00af base=8303f000 limit=0012ffff > ds: sel=00b7 base=8303f000 limit=0012ffff > es: sel=00b7 base=8303f000 limit=0012ffff > fs: sel=0087 base=00005310 limit=0000ffff > gs: sel=00c7 base=00000000 limit=ffffffff > ss: sel=00b7 base=8303f000 limit=0012ffff