setprop libc.debug.malloc = 1 不起作用

2024-01-18

我尝试使用 setprop libc.debug.malloc = 1 来找出泄漏。 我制作了一个演示程序并在其中引入了内存泄漏,但上述标志无法检测到此泄漏。 我尝试了以下命令: adb shell setprop libc.debug.malloc 1 adb shell 停止 亚行外壳启动

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 !");
}

任何帮助,将不胜感激。

Thanks


libc.debug.malloc不是 valgrind。它跟踪本机堆分配,但并不真正直接检测泄漏。与 DDMS 结合使用效果最佳;看这个答案 https://stackoverflow.com/questions/15386339/how-to-use-ddms-for-memory-leaks-in-c-code/15398651#15398651有关使用它进行本机泄漏追踪的信息(也许这个较旧的答案 https://stackoverflow.com/questions/3768463/detecting-native-memory-leaks-in-android-jni-code/3773507#3773507).

(注意你can在最新版本的 Android 上使用 valgrind,但设置它可能是一次冒险。)

FWIW,不同级别的libc.debug.malloc相当善于发现释放后使用和缓冲区溢出:

/* 1  - For memory leak detections.
 * 5  - For filling allocated / freed memory with patterns defined by
 *      CHK_SENTINEL_VALUE, and CHK_FILL_FREE macros.
 * 10 - For adding pre-, and post- allocation stubs in order to detect
 *      buffer overruns.

例如,如果您设置libc.debug.malloc = 10并添加一个free()调用上面的示例,您可能会收到来自库的警告消息,因为您设置p[1]而不是p[0].

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

setprop libc.debug.malloc = 1 不起作用 的相关文章

  • 在 Android 中设置 Signalr:崩溃/挂起问题

    我跟着本教程 https whathecode wordpress com 2014 03 20 getting started with the java signalr sdk 为我的 Android 应用程序设置一个 NET 后端来实
  • Android - NumberPicker 滚动/快速滑动更快

    如何使数字选择器滚动 快速滑动更快 目前从00分钟到59分钟需要付出很大的努力 我尝试过一些例子Android 中 Viewpager 控制器速度减慢 https stackoverflow com questions 8155257 sl
  • 如何将TabLayout与Recyclerview同步?

    我有一个TabLayout with Recyclerview这样当单击选项卡时Recyclerview滚动到特定位置 我也想要相反的过程 这样当Recyclerview滚动到特定位置 然后该特定选项卡会突出显示 例如 如果有 4 个选项卡
  • Android中每10秒显示一次数据

    我必须每 10 秒后显示一些数据 谁能告诉我该怎么做 您还可以使用另一种方法按特定时间间隔更新 UI 以上两个选项都是正确的 但根据具体情况 您可以使用替代方法在特定时间间隔更新 UI 首先为 Handler 声明一个全局变量 用于从 Th
  • 根据自定义适配器中的条件更改特定行的背景

    我试图根据从远程服务器上的数据库收到的标志来更改行的背景颜色 在我的代码中 我创建了一个名为 disable 的 ArrayList 其中包含所有已标记的位置 我想将禁用列表中的内容与我的 ListView 中的位置相匹配 我研究了几篇帖子
  • RxJava 相当于 orElse 是什么

    在其他语言的流 函数域中有一个常见的操作 那就是 orElse 它就像一个 if 当当前链没有得到任何结果时 它会更改为备用链 在具有 Maybe 类型的语言中 它基本上会继续 Some 类型的链或更改为 None 类型的 orElse 理
  • 如何使用 Retrofit 2 下载 pdf 文件

    我在下载带改造的 pdf 文件时遇到困难 我的代码生成了一个文件 但它的大小错误 并且当 pdf 打开时它是空白的 这就是我的 php web 服务返回 pdf 文件的方式 param Slim Slim app param String
  • Android 中的 GPS 超时

    在黑莓中 我们使用超时来获取位置 这样如果它在这么长时间内没有重新调整位置 我们就会知道 但是在Android中 没有超时的概念 任何人都可以告诉我们替代方案 我们可以发现 在这么长时间之后 GPS没有位置更新 您可以使用两个线程来实现此超
  • Android SDK 构建工具、平台工具和工具是什么?应该使用哪个版本?

    我知道这是一个非常基本的问题 但令我惊讶的是 我找不到任何有关 Android SDK Build tools 的文档 除了 Android SDK 工具和 Android SDK 平台工具之外 还有一堆 Android SDK 构建工具
  • API 27 中 startActivityForResult 后崩溃

    更新到 API 27 和支持库 27 0 2 后 我突然在 Crashlytics 中得到了很多这样的堆栈跟踪 Fatal Exception java lang IllegalArgumentException at android os
  • 如何反序列化数组 google-gson 内的数组

    我有这样的 JSON Answers Locale Ru Name Name1 Locale En Name Name2 Locale Ru Name Name3 Locale En Name Name4 正如你所看到的 我的数组里面有数组
  • 如何:获取 AVD 的端口号并向其自身发送消息

    我该如何执行以下操作 获取我的 AVD 的端口号 从我的代码而不是命令行 使用步骤 1 中获得的端口号从 AVD 向自身发送消息 这是可能的 模拟器可以给自己发送短信吗 https stackoverflow com questions 8
  • 如何在真实设备上模拟来电? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 出于测试目的 我想在真实的 Andr
  • 如何将 Bundle 转换为 PersistableBundle?

    API21发布了PersistableBundle https developer android com reference android os PersistableBundle html这是系统出于各种目的而保留的捆绑包 JobSc
  • adb shell 的 BroadcastReceiver 权限

    考虑一个简单的工具 使用BroadcastReceiver实现一个简单的目标 因为这不应该被其他应用程序使用 所以它定义了一个保护级别为signature or signatureOrSystem
  • Android 上页面留在后台时会触发“beforeunload”事件

    我正在尝试制作一个在导航时弹出的简单加载微调器 它在导航离开时使用 beforeunload 事件显示 并在完成后使用 load 事件再次隐藏自身 问题是 当我将页面留在手机后台时 例如几个小时后 beforeunload 事件触发并显示微
  • 将文件夹中结构化的预构建文件集添加到 android out 文件夹

    我为arm编译了glibc 这与Android glibc或bionic C不同 因为我编译的glibc环境将有助于提供更多api 现在我可以在 Android 运行时将 glibc 环境复制到 system 文件夹中 并且在执行 chro
  • 安卓应用安全

    我想开发一个用户数据非常敏感的应用程序 我是开发新手 所以不确定以下内容 技术对于安全或高效来说是必要的 请留下您的评论 提前致谢 为了额外的安全性 我们可以避开市场 游戏商店 并将应用程序安装在个人设备上 它会让它更安全吗 我必须在设备上
  • ViewPager 中的 PagerTabStrip 位置

    我有以下代码
  • 根据内容对列表视图中的相似行进行分组

    i have a listview that displays a set of rows each row is clickable now i wish to group similar type of rows under one h

随机推荐

  • 从mysql的大表中快速选择随机行

    从大型 mysql 表中选择随机行的快速方法是什么 我正在使用 php 工作 但我对任何解决方案都感兴趣 即使它是另一种语言 获取所有 id 从中随机选择一个 然后检索整行 如果您知道 id 是连续的且没有漏洞 则可以获取最大值并计算随机
  • 如何阻止 Spring 吞咽异常?

    当服务器端出现故障时 因为数据库和应用程序不同步 而不是出现错误 并且应用程序崩溃 spring tomcat 似乎会吞下异常并假装什么也没发生 你可以说我疯了 但如果程序灾难性地失败 我希望它实际上灾难性地失败 有什么办法可以关闭这种行为
  • Pygame.MOUSEBUTTONDOWN 坐标关闭,除非我在 xwindows 中

    如果我从控制台加载 pygame 代码 它会错误地读取触摸屏坐标 但如果我启动到 xwindows 它会正确读取它们 我已经进入并校准了触摸屏 如果我从控制台运行 evtest 我将得到正确的坐标 只有在 python 中 它才会返回错误的
  • 监听EventDispatcher的所有事件类型

    在Flex中 是否可以监听一个对象的所有事件类型IEventDispatcher addEventListener的第一个参数是类型 它是一个字符串 在许多情况下 文档并不清楚它触发的事件类型 我想附加一个通用侦听器来检查事件 我认为你必须
  • 我可以在 ANDROID 中将 mp3 文件转换为文本吗?

    Android 是否支持以下功能 将包含语音的 mp3 文件转换为适当的单词 然后将结果写入 TextView 或 Toast 或其他任何内容 我不是在谈论使用语音识别器 我的意思是 mp3 中的文件必须从 SD 中选取 未实时记录和分析
  • 谷歌地图v3更改信息窗口的大小

    我想设置信息窗口的大小以适合其中的内容 标准信息窗口太宽我尝试使用 maxWidth 但它似乎不起作用 调整信息窗口大小的最佳方法是什么 参见代码 window setContent inspStates i name br total i
  • 如何在Javascript中为小数添加小数点

    我尝试将 0 10 添加到 23 50 但得到 23 50 10 而不是 23 60 my code console log parseFloat 23 50 parseFloat Math random 0 10 0 01 toFixed
  • Nativebase - 单击输入时如何显示日期选择器?

    我在用本地库成分 我有Form具有以下字段
  • 在 onTouch (Android) 上获取颜色(像素)信息

    有没有办法获取像素 x y 的颜色并检查其是否为红色 如果是红色则发送触摸事件 我希望它在后台运行 并且它应该始终检查该像素 x y 的颜色 一旦它变成红色 就应该模拟触摸事件 您可以从以下示例中获取值 final Bitmap bitma
  • 在 BigQuery 中附加时忽略重复记录

    我们正在将数据从 MySql 写入 BigQuery 我们设定了一些指标 例如 插入 如果是第一次添加记录 则在指示符字段中用 I 保存 更新 如果记录有一些更新的数据 则在 指示符 字段中将其保存为 U 如果未更改则忽略重复记录 但在 更
  • Winnovative - CSS 网格未正确转换

    我正在使用 Winnovative 库将一些 HTML 转换为 PDF 由于这对于很多场景都很有效 但 CSS 网格似乎存在问题 由于我无法分享太多规格 但我可以分享这些显示 HTML 部分和 PDF 中转换结果的图像 HTML eleme
  • 在 WCF 中,我的 UriTemplate 的文字段中可以有通配符吗?

    我正在使用 Net 4 0 编写 RESTful WCF 服务 我想要以下两个网址 root document ids fields fields root externaldocument ids fields fields 映射到相同的
  • applicationContext.xml 中的 beans 声明

    我有一个关于类声明的问题应用程序上下文 xml In 应用程序上下文 xml我们需要指定应用程序中的所有类吗 例如 在我的小型网络应用程序中 我有一个Entity class Service类和DAO班级 所以目前它被定义为
  • 找出 Google Cloud SDK 的安装位置

    我需要在以下位置添加 Google Cloud SDKPATH 所以我需要安装位置的路径 有没有gcloud 哪个命令给我这个信息 如果不是 我必须通过符号链接which gcloud etc 对于这个问题有更清洁的解决方案吗 以下命令将为
  • 有没有办法在html中自动播放音频?

    我想在打开网站时立即在网站中自动播放音频 但这不起作用
  • Python:排序的文件列表

    我使用 os path 从目录生成文件列表 我正在通过 Tkinter 从中生成一个照片库 然而排序是完全随机的 我没有看到目录中显示的照片顺序背后有更大的逻辑 当我打印列表时 它也是随机的 如何更改列表的顺序 按文件名或修改日期从该片段中
  • 具有 Runnable 类的 java 命令模式示例:接收器是否丢失?

    From Java 核心库中 GoF 设计模式的示例 https stackoverflow com questions 1673841 examples of gof design patterns in javas core libra
  • 增加 proxy_send_timeout 和 proxy_read_timeout ingress nginx

    我在 GKE 上运行部署 using quay io kubernetes ingress controller nginx ingress controller 0 12 0图像作为 nginx ingress controller 我正
  • Rscript 使用 renv 环境

    如何使用执行命令RScript myfile R这样它就使用它所在的项目 目录的 renv 环境 而不是我的默认环境 有几种方法 确保您的工作目录设置为您的根目录renv项目 并且 renv 项目的自动加载器处于活动状态 您可以通过调用来设
  • setprop libc.debug.malloc = 1 不起作用

    我尝试使用 setprop libc debug malloc 1 来找出泄漏 我制作了一个演示程序并在其中引入了内存泄漏 但上述标志无法检测到此泄漏 我尝试了以下命令 adb shell setprop libc debug malloc