Hi RK,
Thanks for your help.

I am having nightmares of debugging my native lib in android . I followed 
the same method as you told,
but I am unable to find the leaks in my code. on clicking 'Snapshot' after 
running a scenario;it is pointing to other native heaps than mine.

*Only once it was able to get the leaks in my native code properly,*and 
after that every then I run it does capture the memleaks in my code, but 
always captures ,memleaks in other android native code like email,contact 
book etc etc..

Can you help me in this regard..Even I have increased the higher bit 
address in \HandleNativeHeap.java but it did not help me either.

Regards,
Sunny Day



On Friday, November 6, 2009 11:26:12 AM UTC+5:30, RK wrote:
>
> Hi all, 
> I found the way to let ddms show the library name, file , and line no. 
> correctly. 
> 1. library: 
>     - Modify your HandleNativeHeap( android\development\tools\ddms\libs 
> \ddmlib\src\com\android\ddmlib\HandleNativeHeap.java) 
>         * change the following line in parseMaps(ClientData cd, byte[] 
> maps) according to your prelink-linux-arm.map file to let ddms can 
> scan the address range the libraries will be. 
>             if (tmpStart >= 0x40000000L && tmpEnd <= 0x6FFFFFFFL) 
>     - rebuild 
>     - copy android\out\YOUR_TARGET\host\linux-x86\framework\ddmlib.jar 
> to android-sdk-linux_x86-1.6_r1\tools\lib\ 
> 2. file, and line no 
>     - Set the $PATH correctly 
>     - Set the $ANDROID_PRODUCT_OUT correctly. 
>
> Howver, I found that it is still hard to find the memory leakage with 
> this tool. Since With this information, I could just know that there 
> was an malloc occured, I could not tell if this was an leakage or 
> not. 
> Does anyone give me some suggestion? 
>
> regards, 
> RK 
>
>
> On 10月19日, 下午4時59分, RK <[email protected]> wrote: 
> > Hi, Raghu, 
> > 1. Are you able to  see the library name shown in your ddms? 
> > 2. May you share the addresses lies in libc.so in your ddms? Are all 
> > these addresses shown in ddms lies in the address range for libc.so 
> > specified in the prelink file (\android\build\core\prelink-linux- 
> > arm.map) 
> > 
> > regards, 
> > RK 
> > 
> > On 10月14日, 下午1時33分, Raghu <[email protected]> wrote: 
> > 
> > > hi, 
> > > please provide updates ..... 
> > 
> > > thank you, 
> > > Raghu 
> > 
> > > On Oct 5, 12:33 pm, RK <[email protected]> wrote: 
> > 
> > > > Hi, 
> > > >     I have followed your instructions to update the following 
> > > > environment variable: $PATH, and $ANDROID_PRODUCT_OUT. And verify 
> they 
> > > > are set correctly by the following ways: 
> > > > 1. $PATH: I could run arm-eabi-addr2line from everywhere, which 
> means 
> > > > that the path for arm-eabi-addr2line is set correctly. 
> > > > 2. $ANDROID_PRODUCT_OUT: I could execute "cd $ANDROID_PRODUCT_OUT/ 
> > > > symbols" successfully, and it indeed changed to the symbols folder, 
> > > > which means that the path for symbols under $ANDROID_PRODUCT_OUT is 
> > > > set correctly. 
> > 
> > > > With the settings for $PATH, and $ANDROID_PRODUCT_OUT, I run ddms to 
> > > > see the Native Heap tab. However, I still failed to locate the 
> memory 
> > > > leak. The problems I faced are: 
> > > > 1. The button "Load Symbol" is disabled. 
> > > > 2. The following fields are blank, nothing seen. 
> > > >     a) library, 
> > > >     b) file, 
> > > >     c) line 
> > 
> > > > I believed that there must be something I did not follow. Could 
> anyone 
> > > > just give me some instruction? Thanks in advance. 
> > 
> > > > regards, 
> > > > RK 
> > 
> > > > On 8月19日, 下午5時02分, clikx <[email protected]> wrote: 
> > 
> > > > > Hi Fadden, 
> > 
> > > > > Things seems to be working. Both the coloumns are getting 
> populated 
> > > > > with file and function names. 
> > 
> > > > > I have updated following environment variables 
> > > > > 1. $PATH with 
> ~/open_src/prebuilt/linux-x86/toolchain/arm-eabi-XXX/bin 
> > > > > 2. $ANDROID_PRODUCT_OUT with ~/open_src/out/target/product/<XXX>/ 
> > 
> > > > > 'PATH' is used for getting "arm-eabi-addr2line" and 
> > > > > ANDROID_PRODUCT_OUT for getting the path to /symbol folder. 
> > 
> > > > > Thanks and Regards 
> > > > > Supriyo 
> > 
> > > > > On Aug 19, 12:54 am, fadden <[email protected]> wrote: 
> > 
> > > > > > On Aug 18, 4:49 am, clikx <[email protected]> wrote: 
> > 
> > > > > > > I am using own tree. 
> > > > > >   ... 
> > > > > > > I am getting the following error for all the libraries. 
> > > > > > > 03:48 E/ddm-Addr2Line: Error while trying to start 
> arm-eabi-addr2line 
> > > > > > > process for library /system/lib/libssl.so 
> > 
> > > > > > > I am not able to find; which file, the path preferences of 
> "/<path>/ 
> > > > > > > arm-eabi-addr2line" and 
> "/out/target/product/<prod>/symbols/system/ 
> > > > > > > lib/" are to be updated. 
> > 
> > > > > > When I type "which arm-eabi-addr2line", I find it in 
> ./prebuilt/linux- 
> > > > > > x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-addr2line.  Are you 
> setting 
> > > > > > your path with ". build/envsetup.sh" and an appropriate "lunch" 
> > > > > > command? 
> > 
> > > > > > There appears to be an addr2line preference in 
> File->Preferences, but 
> > > > > > you shouldn't have to mess with that.- Hide quoted text - 
> > 
> > > > - Show quoted text - 
> > 
> > 
>

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to