Hi Jonathan, Frank,

Thank you very much, It works now through export UMEM_DEBUG!

Regards,
Yandong
Jonathan Adams ??:
> On Wed, Jun 21, 2006 at 06:43:28PM +0200, Frank Hofmann wrote:
>   
>> Hi Yandong,
>>
>> the variable 'umem_stack_depth' (defaults to 15) controls the default 
>> number of frames recorded. You can increase that value up to a maximum of 
>> UMEM_MAX_STACK_DEPTH. See the umem sourcecode,
>>
>>     
> ...
>   
>> I'm not sure if you need to recompile (or binhack) libumem, or if it's 
>> sufficient to create an 'extern int umem_stack_depth = 100' in your 
>> application source. Give it a try.
>>     
>
> Please don't.  It's not an exported library symbol, so the second
> solution won't work.  The first will work, but is a tad extreme (and
> modifying system libraries is dangerous).  The number of stack frames
> can be modified by using the "audit=frames" command in UMEM_DEBUG, as
> documented in umem_debug(3MALLOC).
>
> Cheers,
> - jonathan
>
>   
>> FrankH.
>>
>> On Wed, 21 Jun 2006, yandong yao wrote:
>>
>>     
>>> Hi guys,
>>> when i use libumem and mdb to find memory leaks, use below command:
>>> ---------------------------------------------------------
>>>       
>>>> ::findleaks -d
>>>>         
>>> BYTES             LEAKED VMEM_SEG CALLER
>>> 8192                   1 f7afa000 MMAP
>>> ------------------------------------------------------------------------
>>>          Total       1 oversized leak, 8192 bytes
>>>
>>> CACHE     LEAKED   BUFCTL CALLER
>>> 0004bc08       1 00106000 libX11.so.4`ia_find_display+0x48
>>> 0004bc08       1 002bb2c0 libglib-2.0.so.0.1000.2`g_malloc+0x4c
>>> 0004be08       1 00961f68 libglib-2.0.so.0.1000.2`g_malloc+0x4c
>>> 0004be08       1 001fed20 libglib-2.0.so.0.1000.2`g_malloc0+0x4c
>>> ------------------------------------------------------------------------
>>>  Total       4 buffers, 112 bytes
>>>
>>> mmap(2) leak: [f7afa000, f7afc000), 8192 bytes
>>> umem_alloc_24 leak: 1 buffer, 24 bytes
>>>           ADDR          BUFADDR        TIMESTAMP           THREAD
>>>                           CACHE          LASTLOG         CONTENTS
>>>         106000           108100     52a506242bb8                1
>>>                           4bc08            476a8                0
>>>                libumem.so.1`umem_cache_alloc+0x144
>>>                libumem.so.1`umem_alloc+0x58
>>>                libumem.so.1`malloc+0x28
>>>                libX11.so.4`ia_find_display+0x48
>>>                libX11.so.4`XSolarisIASetProcessInfo+4
>>>                libX11.so.4`XOpenDisplay+0x1358
>>>                libgdk-x11-2.0.so.0.800.17`gdk_display_open+0x18
>>>                  
>>> libgdk-x11-2.0.so.0.800.17`gdk_display_open_default_libgtk_only+0x98
>>>                libgtk-x11-2.0.so.0.800.17`gtk_init_check+0x24
>>>                libgtk-x11-2.0.so.0.800.17`gtk_init+0x1c
>>>                libbonoboui-2.so.0.0.0`bonobo_ui_gtk_post_args_parse+0xa0
>>>                libgnome-2.so.0.1401.0`gnome_program_postinit+0x100
>>>                libgnome-2.so.0.1401.0`gnome_program_init_common+0x440
>>>                libgnome-2.so.0.1401.0`gnome_program_initv+0x34
>>>                libgnome-2.so.0.1401.0`gnome_program_init+0x30
>>>
>>> umem_alloc_24 leak: 1 buffer, 24 bytes
>>>           ADDR          BUFADDR        TIMESTAMP           THREAD
>>>                           CACHE          LASTLOG         CONTENTS
>>>         2bb2c0           2b8588     52a51837a240                1
>>>                           4bc08            407d0                0
>>>                libumem.so.1`umem_cache_alloc+0x144
>>>                libumem.so.1`umem_alloc+0x58
>>>                libumem.so.1`malloc+0x28
>>>                libglib-2.0.so.0.1000.2`g_malloc+0x4c
>>>                libglib-2.0.so.0.1000.2`g_strdup+0x1c
>>>                fsexam_treeview_construct+4
>>>                fsexam_construct_ui+0x46c
>>>                main+0x23c
>>>                _start+0x108
>>> ---------------------------------------------------------
>>> it seems that the default call stack depth is 15, thus i can't see 'main' 
>>> in the first case while i can see it in the second case. How can i change 
>>> this depth?
>>>
>>> thank you!
>>>
>>>
>>> This message posted from opensolaris.org
>>> _______________________________________________
>>> mdb-discuss mailing list
>>> mdb-discuss at opensolaris.org
>>>
>>>       
>> ============================================================================
>> No good can come from selling your freedom, not for all gold of the world,
>> for the value of this heavenly gift exceeds that of any fortune on earth.
>> ============================================================================
>> _______________________________________________
>> mdb-discuss mailing list
>> mdb-discuss at opensolaris.org
>>     
>
>   


Reply via email to