Android中添加CallStack打印

2023-11-03

Android 打印调用堆栈
内核
添加头文件:
#include <linux/kprobes.h>
#include <asm/traps.h>
添加打印函数:
dump_stack();
C++
添加头文件:
#include <utils/CallStack.h>

添加打印函数:
android:CallStack stack;
stack.update();
stack.log(TAG); //TAG为日志标签,字符串类型

Java
import:
import android.util.Log;
添加打印函数
Log.d(TAG,Log.getStackTraceString(new Throwable()));//TAG为日志标签,字符串类型

(1)Java中添加

Java中添加callstack常见以下几种方式。

import android.util.Log;

//(1)
Exception e = new Exception(“this is a log”);
e.printStackTrace();

//(2)
Thread.currentThread().getStackTrace();

//(3)
Log.e(“dump_test” , Log.getStackTraceString(new Throwable()));

(2)C++中添加

(A)Mtk Camera Hal中有自定义的stack

//vendor/mediatek/proprietary/hardware/mtkcam/include/mtkcam/utils/std
//Misc.h

namespace NSCam {
namespace Utils {

	void dumpCallStack(char const* prefix = 0);

	bool	saveBufToFile(char const*const    fname, unsigned char*const buf, unsigned int const  size);

	unsigned int loadFileToBuf(char const*const    fname, unsigned char*const buf, unsigned int const  capacity);
}

}

//vendor/mediatek/proprietary/hardware/mtkcam/utils/std
//Misc.cpp

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

Android中添加CallStack打印 的相关文章

随机推荐

  • Servlet详解

    一 Servlet的生命周期 创建Servlet有两个时机 一是客户端第一次请求每个Servlet时 系统创建该Servlet实例 另外是Web应用启动时立即创建Servlet实例 即load on startup Servlet 每个Se
  • 解决问题:Visual Studio 2022 打开Qt设计文件xxx.ui报错

    文章目录 解决问题 Visual Studio 2022 打开Qt设计文件xxx ui报错 环境 问题描述 解决方案 在viusal studio中操作Qt的UI文件 解决问题 Visual Studio 2022 打开Qt设计文件xxx
  • 北航计算机科学与技术专业河北投档线,北京航空航天大学2020录取分数线(附2017-2020年分数线)...

    北京航空航天大学2020年录取分数线是多少 各专业录取分数线是多少 是每个填报 北京航空航天大学的考生最关注的问题 随着各省高考录取批次相继公布 考生也开始关心是否被 北京航空航天大学的录取 一品高考网整理相关信息供参考 希望对大家有帮助
  • 申请搜狐自媒体账号

    visualor 申请入驻搜狐公众平台 特此声明
  • 抽象工厂模式和工厂模式的区别?

    简单工厂模式 简单工厂模式不是23种里的一种 简而言之 就是有一个专门生产某个产品的类 比如下图中的鼠标工厂 专业生产鼠标 给参数0 生产戴尔鼠标 给参数1 生产惠普鼠标 工厂模式 工厂模式也就是鼠标工厂是个父类 有生产鼠标这个接口 戴尔鼠
  • HIVE beeline使用shell 批量执行sql语句

    shell脚本如图所示 principal 代表的是认证方式 bin sh Date Author etc profile bash profile sql14 pc insert into table uv daybyday bylimi
  • PHP小皮使用

    PHP小皮基本使用方法 本人新手一枚开始涉猎PHP了 下次有空补个Apache2 4 php7 2的安装教程 小皮使用 官网下载小皮 https www xp cn 选择好对应版本的小皮 本人电脑是windows10 64位的 2 下载好之
  • python知识复习一

    文章目录 前言 一 变量和简单数据类型 1 命名和使用 2 字符串 2 1 修改字符串大小写 2 2 字符串中使用变量 2 3 使用制表符或者换行符添加空白 2 4 删除空白 3 标准数据类型 4 数据类型转变 5 常量 二 数 1 常量
  • sql语句的复习

    sql语句的复习 说来惭愧 写了这么多年代码 sql语句都忘记差不多了 基础 CREATE DATABASE database name drop datebase dbname 备份数据库 mysqldump u 用户名 p 数据库名 g
  • 一步一步理解大模型:模型量化技术3 - GPTQ

    本文介绍专门为生成式预训练模型设计的量化技术GPTQ GPTQ是一种一次性权重量化方法 专为生成预训练Transformer GPT 模型设计 该方法基于近似二阶信息 旨在实现高度准确和高效 关于GPTQ的关键点 GPTQ可以在大约四个GP
  • Redis数据持久化——快照RDB、AOF、主从复制

    redis 本地持久化到硬盘有两种方式 一是快照 snapshotting 二是只追加文件 append only file AOF 快照 快照 顾名思义可以理解为拍照一样 把整个内存数据映射到硬盘中 保存一份到硬盘 因此恢复数据起来比较快
  • STM32输入捕获原理与配置

    目录 一 输入捕获原理 二 输入捕获过程 1 设置输出捕获滤波器 通道1为例 2 设置输入捕获极性 3 设置输入捕获映射通道 4 设置输入捕获分频器 5 捕获到有效信号可以开启中断 6 工作工程 三 输入捕获编程流程 HAL库 四 程序要求
  • 先验概率、后验概率、似然估计、条件概率

    此为Bayesian先生 敬仰吧 同志们 先验 A priori 又译 先天 在拉丁文中指 来自先前的东西 或稍稍引申指 在经验之前 近代西方传统中 认为先验指无需经验或先于经验获得的知识 它通常与后验知识相比较 后验意指 在经验之后 需要
  • JAVA中注解

    注解入门 注解 Annotation 的发展 注解是从JDK5 0开始引入的新技术 注解 Annotation 的作用 不属于程序本身 可以对程序作出解释 这一点跟注释没什么区别 可以被其他程序 如编译器 读取 注解 Annotation
  • mac电脑无法读取移动硬盘

    mac电脑插上硬盘或U盘后不正常断开 会导致读取不到 一 方式1 1 插上硬盘 2 查看硬盘信息 在列表中找到自己的硬盘名称 找到自己的硬盘挂载路径 我的是 dev disk4 diskutil list 3 重新挂载指令 此处我的路径是
  • Java-JDK8下载

    文章目录 一 JDK选择 二 JDK下载 三 JDK安装 四 JDK环境变量配置 五 JDK运行代码测试 六 结尾 一 JDK选择 对于Java开发者而言 选择一个稳定且生态好的开发环境 是最好不过的了 在Java JDK中 JDK8就是相
  • Windows10下安装Mysql

    下载地址 https dev mysql com downloads windows installer 5 7 html 双击安装文件 勾上勾选框 点击Next gt 选择安装类型 这里我选择 Server only 仅安装MySQL数据
  • 激光SLAM入门笔记(三)——传感器数据处理之激光雷达运动畸变去除

    激光雷达运动畸变去除 主要内容 概念介绍 1 激光雷达传感器介绍 两种原理 三角测距 A2 EAI等等 10m内基本为三角测距原理 2 激光雷达数学模型介绍 AMCL采用该模型 3 运动畸变的介绍 相比平移运动 旋转运动 产生的运动畸变比较
  • Response.sendRedirect()

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 一 用sendRedirect方法实现请求重定向 sendRedirect方法用于生成302响应码和Location响应头 从而通知客户端去重新访问Location响应头中
  • Android中添加CallStack打印

    Android 打印调用堆栈 内核 添加头文件 include