delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/10/24/09:47:13

From: ao950 AT FreeNet DOT Carleton DOT CA (Paul Derbyshire)
Newsgroups: comp.os.msdos.djgpp
Subject: Mystery bug!
Date: 24 Oct 1997 05:01:16 GMT
Organization: The National Capital FreeNet
Lines: 27
Message-ID: <62pa2s$8bb@freenet-news.carleton.ca>
Reply-To: ao950 AT FreeNet DOT Carleton DOT CA (Paul Derbyshire)
NNTP-Posting-Host: freenet2.carleton.ca
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp


My code is crashing. :P

Specifically it segs out. This is usually not hard to fix. Find the line
it crashes at with symify, then look at variables and pointer arithmetic
there with a breakpoint. Problem is, this one shifts around when
breakpoints are set or reset, sometimes crashes RHIDE or even Win 95, and
cannot be found by either Fortify or MSS. (Both insist everything is
perfectly okay right up until the end.)

What's more, in sticking a breakpoint in one suspect area, I obtained
something startling. There are four parameters to this function, and it
performs just a function call. If I put a breakpoint on the function call
and run to there, it gets there without crashing. If I inspect the
variables I get 8, 0, 0, and 0. If I hit F8, thereby running the function
it calls, which is make_col_depth in Allegro, and then reinspect the
arguments, the 8 and final 0 are unchanged but the other two have become
weird large integers around 800,000! This suggests my stack is being
trashed. So, is it the stack? If so, how to identify the exact point where
it gets corrupted?

--
    .*.  Where feelings are concerned, answers are rarely simple [GeneDeWeese]
 -()  <  When I go to the theater, I always go straight to the "bag and mix"
    `*'  bulk candy section...because variety is the spice of life... [me]
Paul Derbyshire ao950 AT freenet DOT carleton DOT ca, http://chat.carleton.ca/~pderbysh

- Raw text -


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