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" > 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 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?