如何使用 valgrind 启动 Android 应用程序

2024-01-06

上周我一直在寻找这个问题的答案。

如何使用 valgrind 启动 Android 应用程序?我知道我可以使用“am”命令启动应用程序,但它会启动应用程序并退出。

我正在编写一个使用 NDK 执行本机 C 代码的应用程序,我需要检查它是否存在可疑的内存错误。

Edit:

我又学到了一点。您可以使用 shell 脚本“包装”应用程序。

这是我正在使用的 shell 脚本:

#!/system/bin/sh
VGPARAMS='--error-limit=no'
export TMPDIR=/data/data/com.starlon.froyvisuals
exec /data/local/Inst/bin/valgrind $VGPARAMS $*

这是 setprop:

adb shell setprop wrap.com.starlon.froyvisuals "logwrapper valgrind"

这是我启动应用程序的方法:

adb shell am start -n com.starlon.froyvisuals/.FroyVisuals

我认为这是不对的,因为我不确定 shell 脚本适合哪里,而且我在 logcat 中没有看到任何内容。有什么提示吗?

编辑2: 哦,shell 脚本是用上面的“setprop”命令指示的。所以

adb shell setprop wrap.com.starlon.froyvisuals "logwrapper /data/local/val.sh"

我在 logcat 中仍然没有看到任何内容。


您可以先尝试清除logcat

prompt# adb logcat -c
prompt# adb logcat

触发应用程序后,您应该能够看到传入的日志。

am start -a android.intent.action.MAIN -n com.example.hellojni/.HelloJni

我的 shell 脚本有问题,所以我用了这个。

adb shell setprop wrap.com.example.hellojni "logwrapper /data/local/Inst/bin/valgrind"

您应该能够在 valgrind 之后立即传入参数

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

如何使用 valgrind 启动 Android 应用程序 的相关文章

随机推荐

  • 如何拆分 ipython 笔记本

    我的 Jupyter 笔记本越来越长 这使得导航变得困难 我想将每一章 从标题 1 开始的 Cel 保存到不同的文件中 我怎样才能做到这一点 在笔记本之间剪切和粘贴多个单元似乎是不可能的 这是我使用的方法 虽然有点尴尬 但很有效 使用 文件
  • Android 上 libgdx 项目中的蓝牙

    谁能给我一些关于使用蓝牙的建议libgdx安卓上有游戏吗 我的问题是整个代码都在 MyGame 项目中MyGame Android只有MainActivity在 Android 上启动游戏的类 我可以让蓝牙在普通的 Android 应用程序
  • CSS 动画无法在 Chrome 上运行 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有一个通过 CSS 动画淡入的图像标题 它可以在 Safari 和 Firefox 上运行 但不能在 Chrome 上运行 我在 28
  • Rails 和 MiniTest:添加附加文件夹

    我使用 Ruby 2 和 Rails 4 我有一个文件夹test lib 其中有一些测试 但跑步rake test不使用它们 仅其他测试 模型 控制器等 正在运行 我必须在哪里添加lib folder 我已经尝试过了MiniTest Rai
  • 通过强制转换在 uint8_t[8] 和 uint64_t 之间安全转换?

    我目前正在做的方式 我宁愿摆脱memcpy call uint64 t integer uint8 t string 8 memcpy integer string 8 or swap the parameters 假设integer数组长
  • 使用 VBA 更改 Office 功能区中元素的属性

    我是 VBA 和 Office Ribbon UI 的初学者 我正在使用 Office 2007 并使用自定义 UI 在 PPTM 中开发功能区 我添加了一组 XML 如下所示
  • html5可以自动全屏吗?

    我基于在网络浏览器中使用全屏 API http hacks mozilla org 2012 01 using the fullscreen api in web browsers 进行全屏显示 但仅适用于单击事件或控制台萤火虫 而不是提交
  • 将 WriteableBitmap 转换为 Bitmap 以在 EmguCV 中使用

    在我的代码中 我从字节数组 依次从 Kinect 接收 WriteableBitmap 我想将它们转换为位图以与 EmguCV 一起使用 目前这是我的代码 Copy the pixel data from the image to a te
  • Android ListView:如何避免在bindView()中查询数据库?需要获取一对多关系数据

    我有一个列表视图来显示专辑 在每个相册列表项中 我需要显示该相册中每张照片的一些信息 这是我的光标加载器的样子 Override public Loader
  • 在 Activity 中调用第三方库的本机方法两次会导致 Android 应用程序关闭

    我在我的应用程序中集成了两个本机库 so 这些库编译得很好 我也可以将它们加载到我的应用程序中 第一次调用库的本机方法时 它工作正常 但如果我在活动中再次调用相同的方法 应用程序将关闭 我面临的问题与这里提到的完全相同 http grokb
  • racket程序与python程序之间的通信

    我想要球拍程序和Python程序之间的通信 我的球拍代码 lang racket define values sp o i e subprocess f f f hello exe display server i flush output
  • 正确[超级dealloc]

    dealloc 方法中语句的顺序重要吗 是否 super dealloc 需要在方法的顶部吗 有关系吗 也在例如viewDidLoad 应该 super viewDidLoad 位于方法的顶部 It 绝对地很重要 您的操作取决于您使用的是自
  • 根据用户的区域设置和偏好设置日期和时间的格式(以秒为单位)

    我试图根据用户的设置获取格式化的日期 年 月 日 和时间 小时 分钟 秒 字符串 This https groups google com forum topic android developers I35vKNWqLdQAndroid
  • 使用 ruby​​ PaperTrail 具体化版本时出错

    我按照中的说明进行操作https github com paper trail gem paper trail https github com paper trail gem paper trail 在项目 Gemfile 中添加 pap
  • 使用 google_places 进行多个位置搜索(来自 googleway)

    假设我有一个包含多个位置的向量 经度和纬度格式 我想使用 google places 找到最近的地铁站 但是 我总是收到这样的错误 validateGeocodeLocation 位置 中的错误 位置必须是一对纬度和经度坐标的向量 代码如下
  • Boost::asio - 如何中断阻塞的 TCP 服务器线程?

    我正在开发一个多线程应用程序 其中一个线程充当从客户端接收命令的 TCP 服务器 该线程使用 Boost 套接字和接受器来等待客户端连接 接收来自客户端的命令 将命令传递给应用程序的其余部分 然后再次等待 这是代码 void ServerT
  • 动态增加文本框高度? [复制]

    这个问题在这里已经有答案了 可能的重复 自动调整文本区域大小 https stackoverflow com questions 7477 autosizing textarea 大家好 我正在尝试解决一个问题 但毫无进展 我想做的是当用户
  • Restler API框架安装

    我想开始使用 Restler 开发 Rest api 但是 我找不到有关如何安装它的任何详细信息 此外 它似乎在 nginx 服务器上运行 有没有办法在apache上运行这个框架 是否有其他替代方案来构建高质量的 APIS 有关于安装这个框
  • 使用 Ninject 获取对象的实例

    我安装在我的项目上Ninject MVC3 http nuget org List Packages Ninject MVC3通过努吉特 I read 本文 http azolotar blog com 2011 02 17 ninject
  • 如何使用 valgrind 启动 Android 应用程序

    上周我一直在寻找这个问题的答案 如何使用 valgrind 启动 Android 应用程序 我知道我可以使用 am 命令启动应用程序 但它会启动应用程序并退出 我正在编写一个使用 NDK 执行本机 C 代码的应用程序 我需要检查它是否存在可