tracing malloc/free call
Fri Jan 16 09:08:00 GMT 2015
On 1/15/2015 8:59 PM, Alexander.Kleinsorge@gmx.de wrote:
> Hi Marco,
> freeing an address that is not alligned to typically 4 or 8 bytes is
> never possible,
> because malloc would never return such.
> Your pointer ends with 0x..1 so it cannot be alligned on any architecture.
I know. The application is crashing.
It is clearly a free call with a corrupted pointer,
but not knowing the caller address make difficult to
identify what is corrupting the pointer.
> Your Post:
> Debugging a program I am trying to catch where this call is happening
> 17 1499678 [main] ncview 1484 free: (0x6000D7961), called by 0x180115A0B
> unfortunately the 0x180115A0B address is not real caller address
> extern "C" void
> free (void *p)
> malloc_printf ("(%p), called by %p", p, __builtin_return_address (0));
> if (!use_internal)
> user_data->free (p);
> __malloc_lock ();
> dlfree (p);
> __malloc_unlock ();
> Any way to improve the tracing ?
> $ uname -svr
> CYGWIN_NT-6.1 1.7.33-2(0.280/5/3) 2014-11-13 15:47
Problem reports: http://cygwin.com/problems.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin