Re: [Gc] Re: Re: FW: Re: Can not print call chain

Ivan Maidanski ivmai at mail.ru
Wed Jul 14 04:32:48 PDT 2010


Wed, 14 Jul 2010 10:57:44 +0000 (UTC) biosli <biosli at hotmail.com>:

> Hi, Ivan:
> 
> Ivan Maidanski <ivmai at ...> writes:
> 
> > 
> > 
> > Wed, 14 Jul 2010 10:16:48 +0000 (UTC) biosli <biosli at ...>:
> > 
> > > Hi, Hans:
> > > 
> > > Boehm, Hans <hans.boehm at ...> writes:
> > > > ...
> > > > I second Ivan's question about whether GC_DEBUG was defined and 
> allocation 
> > > was done through the (all
> > > > uppercase) macros.
> > > 
> > > Macro GC_DEBUG was defined.
> > > 
> > > The function GC_save_callers has called, and GetStackFramesFromContext has 
> > > called also.
> > > 
> > > But GC_HAS_DEBUG_INFO(p) (called by GC_default_print_heap_obj_proc) always 
> > > return FALSE, so GC_print_obj not work.
> > 
> > You mean GC_has_other_debug_info() always return FALSE, right? Could you 
> tell us what the condition is
> > hit in GC_has_other_debug_info that the latter returns false?
> > 
> 
> GC_debug_print_heap_obj_proc calls GC_HAS_DEBUG_INFO(p), and return false 
> because (sz < DEBUG_BYTES + EXTRA_BYTES).

Hmm... sz=GC_size(obj) which should be >= DEBUG_BYTES + EXTRA_BYTES if obj was allocated by GC_debug_... You do all your allocationa thru GC_debug_ (or GC_MALLOC... with GC_DEBUG on), right?




More information about the Gc mailing list