[lldb-dev] Guessing pointed data size

Greg Clayton gclayton at apple.com
Thu Aug 22 17:31:16 PDT 2013


Calling a function is easy:

(lldb) expr (size_t)malloc_size(my_ptr)

Your pointer might have to be the exact allocated address, it can't be just any address in a heap allocated block.

LLDB also has utilities that help you with heap stuff:

(lldb) script import lldb.macosx
(lldb) malloc_info my_ptr

Or if you want to find a pointer value inside memory:

(lldb) ptr_prefs my_ptr

If LLDB can determine the dynamic type of a block of memory, it might be able to print it for you:


(lldb) malloc_info --type my_ptr

IF the block is Objective C, you can PO the address of the containing block:

(lldb) malloc_info --po my_ptr


For all the gory details type "help malloc_info" and "help ptr_refs" for more information.

Greg


On Aug 22, 2013, at 5:13 PM, Sebastien Metrot <meeloo at gmail.com> wrote:

> Hello,
> 
> I'm trying to find a way to guess the size of data that was malloc'd in the debugged process. I know there is an unsupported malloc_size function on MacOSX that is equivalent to _msize on Win32 (not found the equivalent on linux yet) and I'm wondering what would be the best way to call these functions in the debugged process+address space in order to display the data that is pointed to as children of the pointer instead of a single value as of now.
> 
> I though there was a way call a debuggee function with the lldb API but I haven't found it so I'm starting to think I have just imagined it.
> 
> S.
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev




More information about the lldb-dev mailing list