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
