3
我試着用setprop libc.debug.malloc = 1來查找泄漏。 我做了一個演示程序,並介紹了內存泄漏,但上面的標誌無法檢測到這個泄漏。 我嘗試以下命令: 亞行外殼setprop libc.debug.malloc 1 亞行外殼停止 亞行shell啓動setprop libc.debug.malloc = 1不起作用
jstring Java_com_example_hellojni_HelloJni_stringFromJNI(JNIEnv* env,
jobject thiz) {
int *p = malloc(sizeof(int));
p[1] = 100;
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
任何幫助,將不勝感激。
謝謝
謝謝。我厭倦了也免費,它給了我日誌,但沒有提及任何關於lib libhello-jni.so(這是我的項目如此文件),雖然日誌有pid和組件包名稱,但是,這些信息非常更少(函數名稱在哪裏會更有幫助)。我也試過valgrind,它提供了內存泄漏和無效寫入,但它使應用程序非常緩慢。我需要測試的應用程序在一段時間後隨機崩潰。我正在尋找提供內存泄漏和內存損壞的方式,同時應用程序保持相當響應。 – Mayank
將libc.debug.malloc設置爲5或10會發現相當多的問題。它不像valgrind那麼徹底 - 例如,它不會幫助你處理堆棧轉儲或未初始化的值,但速度更快。 – fadden