From: Steffen F. Haeussermann (shaeu_at_worldnet.att.net)
Date: Tue Nov 02 1999 - 03:57:52 GMT
Hello,
I found several bugs in the 3.34 release during debugging sessions with
C++ code (C is fine). I do use Solaris releases 2.51, 2.6 and 2.7 with
the compilers GCC and Sun 4.2.
C++ step function is extremely slow. For each step the method
elf_next_symtab is called around 5000 times and the shared libraries are
opened to check the modification time. This problem does not occur under
C. The removeal of the comments at line 764-772 will fix the problem.
However, I guess the idea is here to change a shared library during
debugging session. This is no longer possible after the below listed
changes have been applied.
FILE: ao_elflib.c
Line 764-772
/* RGA commented out to get load of dynamic libraries added into
latest_libdep */
/**/ if (so->next != NULL) {
*p_next_st = so->next->symtab;
return TRUE;
}/**/
/* RGA commented out to get load of dynamic libraries added into
latest_libdep */
/**/ if (!load_new || so->is_last_symtab)
return FALSE;/**/
The step function does not step into any methods of sub classes in the
case the SUN 4.2 compiler has been used (constructor, overloaded or
not). The method scan_symtab does ignore the sub class methods in the
"case N_FUN" section. The "ifdef SUNOS" preprocessor statement does fix
the problem:
FILE: ao_symscan.c
Line 1442-1448
#ifndef OS_SUNOS <== ADD THIS LINE
if ((curfunc != NULL) && (curfunc->fu_addr == nm.n_value))
{
stf->stf_flags |= STF_FUNCS_REPEATED;
break;
}
#endif <== ADD THIS LINE
Variables which have been declared protected or public will not be
displayed in the case the variable is selected in the code of a sub
class. The below listed changes in the method match_name_start_in_obj
will fix the problem.
FILE: va_menu.c
Line 1603 (change line to this)
if (!found) /* go one level up */
Line 1605 (change line to this)
if ( (v->va_type->ty_code == TY_UNION || v->va_type->ty_code ==
TY_STRUCT) &&
Regards,
Steffen
This archive was generated by hypermail 2.1.4 : Wed Feb 13 2002 - 21:56:15 GMT