Mail Archives: djgpp/2001/01/21/06:33:04
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 -