www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2001/01/21/06:33:04

Date: Sun, 21 Jan 2001 13:31:11 +0200 (IST)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Florian X <dos DOT fire AT aon DOT at>
cc: djgpp AT delorie DOT com
Subject: Re: silly question: SIGSEGV
In-Reply-To: <3a6ab865$0$25126@SSP1NO25.highway.telekom.at>
Message-ID: <Pine.SUN.3.91.1010121132356.15729G-100000@is>
MIME-Version: 1.0
Reply-To: djgpp AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sun, 21 Jan 2001, Florian X wrote:

> Call frame traceback EIPs:
>   0x000a9b9f _free+247
>   0x000016c4 _sf_free+24, line 81 of program.c
>   0x00003d38 _dispose+52, line 1478 of program.c
>   0xffd94c14 0xffd94c14   <------------- funtktion in the DLX program
>   0x00003d23 _dispose+31, line 1476 of program.c
>   0x00002870 _obj_done+92, line 657 of program.c
>   0x000144c8 _view_done+176, line 129 of program.c
>   0x00003d23 _dispose+31, line 1476 of program.c
>   0xffd8c2fa 0xffd8c2fa <------------- funtktion in the DLX program
>   0x000152cc _view_play_process+176, line 387 of program.c
>   0x00003b78 _obj_translate_event+44, line 1242 of program.c
> [DR-DOS] E:\SEALSRC>symify seal.exe

What do you get if you type "list *0xffd8c2fa" inside GDB?  What do you 
get if you type "disassemble 0xffd8c2fa"?

> >Can you run the program under a debugger?  If so, then both GDB and RHIDE
> >should be able to tell you a lot about each EIP value printed in the
> >crash message.  Perhaps you didn't use the right commands.
> 
> I used it, but they couldn't show me more infos, because of the DLXs

When the program stops because of SIGSEGV, you should be able to go to 
the upper frames, by typing "up N" (where N is a number), and looking 
around in the problematic frames.  For example, "up 3" will get you to 
the stack frame where this happens:

  0xffd94c14 0xffd94c14   <------------- funtktion in the DLX program

In addition, I'd suggest to look at these two levels:

>   0x000152cc _view_play_process+176, line 387 of program.c
>   0x00003b78 _obj_translate_event+44, line 1242 of program.c

Since the problem probably happens there.

In any case, crashes in `free' usually mean that you overwrite allocated 
buffers.

> and
> because some *.c files are
> included into the main file program.c via  fe. #include"object.c".

Compile and link with -gstabs+ instead of -g, and you will be able to 
debug such code.  See sections 12.1 and 12.6 in the FAQ, for more about 
this.

- Raw text -


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