delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/06/29/01:30:05

From: "Charles Sandmann" <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: CWSDPMI registers/symify [was Re: Peculiar behavior of program.]
Date: Fri, 29 Jun 2001 00:08:23
Organization: Aspen Technology, Inc.
Lines: 30
Message-ID: <3b3bc6f7.sandmann@clio.rice.edu>
References: <3b3b4948 DOT 212143163 AT news DOT primus DOT ca> <3405-Thu28Jun2001193951+0300-eliz AT is DOT elta DOT co DOT il> <3b3be8da DOT 252999345 AT news DOT primus DOT ca>
NNTP-Posting-Host: dcloan.hou.aspentech.com
X-Trace: selma.aspentech.com 993792116 9024 10.32.115.107 (29 Jun 2001 05:21:56 GMT)
X-Complaints-To: postmaster AT aspentech DOT com
NNTP-Posting-Date: 29 Jun 2001 05:21:56 GMT
X-NewsEditor: ED-1.5.8
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

> >Yes; and CWSDPMI did just that: you've got the EIP where your program
> >crashed.  That's a lot.
> 
> Unfortunately, I can't *use* it, because symify doesn't translate it
> into something that can be connected with an actual suspect line of
> code, function, variable, or anything.

You only see a message from CWSDPMI if you've trashed the protected mode
environment so severely that CWSDPMI sees impending doom due to nested
exceptions.  In this case the traceback handler from DJGPP can't execute.

If you could symify the EIP, there's a real good chance it's inside the
DJGPP exception handler, or that handler was overwritten by data.

When this happens, I recommend setting the stack space with stubedit 
huge (like 1/2 your memory) and try again.  Still crash?
Probably in some interrupt handler or something.

> >It turns out that in your case, it _is_ too much to ask.
> 
> Why?
> (Wondering if PM is all it's cracked up to be.)

The "pretty" exception handler which does tracebacks, etc is in the DJGPP
code.  Bugs in your code can overwrite that code in rare instances or set
the operating stack to be invalid (oops).  If you got the CWSDPMI registers, 
you would have hard wedged many environments.  When CWSDPMI captures the 
error, it's a last chance bail to give you an idea what happened and pray 
you don't have to reboot.

- Raw text -


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