www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/01/01/03:12:52

To: adamo AT hpcl DOT cti DOT gr (Giorgos Adamopoulos)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu (GNU GCC djgpp List)
Subject: Re: Q: on go32
Date: Sun, 01 Jan 95 09:24:08 +0200
From: "Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il>

> General protection fault at eip=9485
> eix=...
> :
> Call frame traceback EIPs:
>	0x00009485
>	:
>
> What's this?  If it is a FAQ please direct me there and flame me if you 

This is the operating system's (well, actually the go32 DOS-extension's)
way of telling you that you've done something illegal.  Unlike under
plain DOS, where you can overwrite all of the DOS memory and only
know about it when your machine locks up, under protected-mode DOS
extended by go32, you can't access memory outside your program's
address space.  If you do, you get the above message.

The cryptic info which gets written to your screen is actually
quite usefull: it tells you where your program is misbehaving.
To translate this into a human-readable information, do this:

	1) Be sure your program is compiled with -g switch
(which includes debugging info) and you didn't strip the symbol
table from the linked binary (with -s switch to the linker or
strip command).  If any of the above is not true, recompile and
relink.

	2) Go to the directory with the sources and invoke the
program in the way which causes it to crash as you reported.

	3) Invoke the symify program, thusly:

		symify <put your program name here>

This should be done with your traceback is still on-screen, as
symify accesses the video memory to read it.  SYMIFY will add
the source files and the line numbers to this traceback, so you
will know where in your program is the problem.  If the program
you've compiled is not specifically ported to DJGPP and/or DOS,
then you will likely find out that some Unix-related feature
which doesn't work under DOS is the culprit.

> System V3 with djgpp, and it did fine.  When I tried though to run it, with
> go32 (go32 st systemImage) I got:

On the other hand, it might be something rather silly, like incorrect
usage.  So let me ask a few obvious questions:
How exactly did you try to invoke it?  What was the command line?
What is the exact filename of the binary produced by the final link
stage of your compilation?

- Raw text -


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