我已經試過以下的版本here。 調試我的應用程序,因爲它使用C庫和C內存分配(我使用libgdx) 在我看來,我有我的應用程序泄漏,但在上面的鏈接說明說你需要一個eng電話,所以我紮根了一個hct一個秒,然後我發現了以下說明我 已經在幾個網站上找到:Android調試C內存泄漏
安裝busybox的
adb shell
su
//提防下面的命令,你必須鍵入:
mount
//第一然後檢查其中/系統是在列表
// EXT4和/ dev /塊/ mmcblk0p33可能不得不被替換
mount -o rw,remount -t ext4 /dev/block/mmcblk0p33 /system
cp /system/lib/libc.so /system/lib/libc_original.so
CP不起作用
cat /system/lib/libc.so > /system/lib/libc_original.so
!如果/system/lib/libc_debug.so存在
警惕這種斷裂手機檢查幸運的是,最後一個命令後,我的手機剛剛重新啓動,它的工作。
現在我已經意識到,我不知道在哪裏可以找到libc_debug.so,有什麼想法?手機是htc one s,android 4.1.1。在哪裏可以找到庫?與源代碼?
下一個問題:我安全地只是用/system/lib/libc_debug.so替換/system/lib/libc.so?
有沒有做到這一點,它甚至工作?
感謝昆汀,我看過valgrind,但它看起來相當複雜,我沒有nexus S.你知道任何簡單的方法嗎?我不需要調試我正在使用的C庫,我只想看看我創建的某些C對象是否可能會泄漏。問題是我的應用程序過了一段時間才被殺死。我的意思是它沒有崩潰它只是消失,並沒有錯誤日誌。 – vallllll
更新了關於ddms的一些信息,看起來像一些人通常做你在電話上設置了一個屬性,然後使用[ddms](http://developer.android.com/tools/debugging/ddms.html)來嘗試追蹤內存泄漏。希望有助於一些。 – dudebrobro
thks我已經做 %adb shell setprop libc.debug.malloc 1 %adb shell stop %adb shell start並且它不會更改ddms中的Native選項卡仍然是空的我有HTC 4.1.1版本的Android 4.1.1 。還有一些關於分配的日誌會幫助我 – vallllll