delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/06/01/09:43:13

Date: Sun, 1 Jun 1997 16:33:33 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
To: Andrew Crabtree <andrewc AT typhoon DOT rose DOT hp DOT com>
cc: djgpp AT delorie DOT com
Subject: Re: One for the Gurus
In-Reply-To: <199705311615.AA057665326@typhoon.rose.hp.com>
Message-ID: <Pine.SUN.3.91.970601163236.24382A-100000@is>
MIME-Version: 1.0

On Sat, 31 May 1997, Andrew Crabtree wrote:

> Exiting due to SIGSEGV
> General Protection Fault at eip=00003424
> eax=00000004 ebx=00000000 ecx=0004beb1 edx=3a633d52 esi=fffffffc edi=00000001
> ebp=00000001 esp=0004be80 program=C:\DJGPP\TEMP\HELLO.EXE
> cs: sel=00a7 base=831b2000 limit=0005ffff
> ds: sel=00b7 base=831b2000 limit=0005ffff
> es: sel=00b7 base=831b2000 limit=0005ffff
> fs: sel=0087 base=00010da0 limit=0000ffff
> gs: sel=00c7 base=00000000 limit=ffffffff
> ss: sel=00b7 base=831b2000 limit=0005ffff
>
> Call frame traceback EIPs:
>   0x00003424
[snip]
> So, my next thought was to load it up into GDB and fix the problem.
> Well, no luck.  Things run perfectly under GDB.  

You don't need to reproduce the problem under GDB to know where does
it crash.  Just load the program and disassemble near the address
where it crashes, like so:

	gdb hello
	(gdb) disassemble 0x3424

GDB will list the function, if any, that includes the given address.
You can then look at the source of the function that bombs and debug
further.

Of course, this assumes that the EIP belongs to the DJGPP programs (as
opposed to the DPMI host); but this assumption seems to hold in your
case, as the printed selectors all belong to DJGPP.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019