From: "Charles Sandmann" Newsgroups: comp.os.msdos.djgpp Subject: Re: GPF decoding Date: Wed, 27 Aug 1997 13:16:08 Organization: Aspen Technology, Inc. Lines: 22 Message-ID: <34042898.sandmann@clio.rice.edu> References: <3403DAF8 DOT 7841 AT post DOT comstar DOT ru> Reply-To: sandmann AT clio DOT rice DOT edu NNTP-Posting-Host: spica.dmccorp.com To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk > Exiting due to signal SIGSEGV > General Protection Fault at eip=1cf8b; flags=3016 > eax=00030000 ebx=0000000d ecx=ffffffff edx=30202020 esi=30202020 > edi=30202020 > ebp=0000000d esp=00033260 cs=a7 ds=af es=af fs=b7 gs=bf ss=af error=0000 > > Are any ways to decode it? symify ,obviously, don't work since call > frame traceback is absent. Get into a debugger and disassable the memory location at eip 1cf8b - this will usually tell you the module in which it is located. You need to then figure out what line of code that is associated with (create an .s file instead of compiling is helpful). Look at the values in the registers and compare that with the location you were executing. It should be obvious what the problem is at that point - back track the code to see where the bad pointer came from (edx, esi, edi appear to have text loaded into them, esp is either on the internal locked stack or a switched stack). I would guess you have nested exceptions or an exception in an interrupt handler. Beware - there is a bug in QDPMI which does not disable interrupts in exception handlers and it sometimes trashes it's internal exception stack. If your EIP is in exceptn.s, that may be the problem.