delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1996/04/11/12:26:13

Message-Id: <s16dd9a2.091@MAIL.TAIT.CO.NZ>
Date: Fri, 12 Apr 1996 04:19:02 +1200
From: Bill Currie <bill_currie AT MAIL DOT TAIT DOT CO DOT NZ>
To: djgpp-workers AT delorie DOT com
Subject: symbol name length bug in edebug32 and fsdb

edebug32 and fsdb can't handle very long symbol names.

When debugging c++ programs using fsdb, I;ve been plaged with WIERD excetions while stepping
though my code (eg 'Exception 1700949349 (0x65626d65) occurred').  I had noticed that the
error codes tended to be parts of symbol names.  Today, fsdb AND edebug32 were getting realy
strange exceptions (code ok, just couldn't figure out why) as shown below.

W-C:\SOURCE\S28>edebug32 s28-bin
>> n
_main():
00001bb0: 55             push    ebp                 ebp=0004d2a8
00001bb1: 89e5           mov     ebp,esp             esp=0004d288
00001bb3: 81ec44010000   sub     esp,0x144           esp=0004d288
00001bb9: 53             push    ebx                 ebx=000501a0
00001bba: e83d180000     call    ___main
Cannot continue from exception, exiting due to signal 0123
General Protection Fault at eip=00004b63
eax=00000084 ebx=00000076 ecx=00055918 edx=67616e61 esi=00000004 edi=00000004
ebp=00055948 esp=0005593c cs=00a7 ds=00af es=00af fs=0087 gs=00d7 ss=00af
Call frame traceback EIPs:
  0x00004b63
  0x00004dd1
  0x00005d29
  0x000067e9
  0x00006cca
  0x0000266b
  0x000039d3
  0x00009c9b
00001bbf: 68e41a0000

After a lot of fiddling, I wound up completely stripping my coff file (no symbols at all)
and tried running the debuggers.  They worked perfectly. Symbol names like the following are
causing the problems:

_insertBefore__t12list_manager1Zt12list_manager1Z5SLinePCt12list_manager1Z5SLineRCQ2t12list_manager1Zt12list_manager1Z5SLine8iterator

which translates to

list_manager<list_manager<SLine> >::insertBefore(list_manager<SLine> const *,
list_manager<list_manager<SLine> >::iterator const &)


I'm willing to fix this bug, I just thought I should let you know about it

Bill

___________________________________________
Bill Currie (bill_currie AT tait DOT co DOT nz)
Tait Electronics, Christchurch, New Zealand
tel: (64) 3 358-3399, fax: (64) 3 358-0423

- Raw text -


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