Sender: bukinm AT SunKEDR30 DOT inp DOT nsk DOT su To: djgpp AT delorie DOT com Subject: Re: Question about debugging References: From: M DOT A DOT Bukin AT inp DOT nsk DOT su Date: 28 Jul 1998 19:35:19 +0700 In-Reply-To: bukinm@inp.nsk.su's message of 28 Jul 1998 18:59:27 +0700 Message-ID: Lines: 22 Precedence: bulk Eli Zaretskii writes: > On Sat, 25 Jul 1998, Victor wrote: > > > I'd appreciate if someone could give me some idea how to debug my > > code. > > > > Exiting due to signal SIGILL > > Invalid Opcode at eip=00aeacac > > This EIP is bogus. AFAIK, a valid EIP cannot be more than EBP, > because the stack is above the code in the DJGPP memory layout. So > you need to find out how did that EIP happen. Very likely crash occurs inside stretch_blit. stretch_blit allocates memory for stretcher code. I think, this can explain EIP higher than EBP and other registers close to EIP. I'd suggest to examine values passed to stretch_blit. Allegro documentation says that it can not handle stretching from outside of source bitmap and between color-depths and also it can not blit between NULL bitmaps.