Message-Id: Date: Fri, 12 Apr 1996 04:19:02 +1200 From: Bill Currie 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 >::insertBefore(list_manager const *, list_manager >::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