通过minidump查看crash的callstack

1.1 如何查看callstack

  1. 需要找到带debugsymbol的so

  2. 有minidump或者callstack

  3. 使用minidump_stackwalk可以解析minidump文件并生成callstack文本文件

  4. 使用addr2line可以输入一个so文件和一个地址从而解析得到symbol信息

  5. 如果没有minidump,我们自己调试得到了stack,那么我们可以这样写个脚本来解析stack:

    比如我们的stack信息:

    #00 pc 0001c5d0 /system/lib/libc.so

    #01 pc 0000e6a8 /system/lib/libc.so

    #02 pc 0000e708 /system/lib/libc.so

    #03 pc 00e05fd5 /data/app-lib/com.dolphin.browser.engine-1/libdolphinwebcore.so

    #04 pc 00e0600d /data/app-lib/com.dolphin.browser.engine-1/libdolphinwebcore.so





每一行有4项,那么我们可以写脚本这样解析:

SYMBOL_SO=libdolphinwebcore.so

cat $1 | while read depth file pc so

do

echo $depth `addr2line -f -C -e${SYMBOL_SO} -a $pc`

done

Android NativeCrash 捕获与解析,Android开发经典实战 还是利用Android/SDK/NDK提供的工具linux-android-addr2line,这个工具位于/Users/njvivo/Library/Android/sdk/ndk目录下,有两个版本。aarch64架构arm架构命令使用方法如下,结合未被strip的so以及日志里面出现的堆栈符号00000000000161a0,同样可以解析出崩溃地址和方法。Crash() 阅读详情

相关推荐

利用Android stuido的安装目录下的minidump_stackwalk.exe解析native导致崩溃生成的dmp文件

1.Android Studiod的安装目录\bin\lldb\bin中存在一个minidump_stackwalk.exe的可执行文件,在该目录下运行cmd,并执行如下命令:minidump_stackwalk.exe f7ab957b-326b-4852-160d079e-1f5563b.dmp >crash.txt 2.从解析出来的crash原因,进行符号解析 Oper...

U__F_O的博客 1904

Android使用google breakpad之minidump_stackwalk

Minidump总结 记录一下如何使用minidump解析crash.dmp文件 1. Build symbols (symbols will put into "objdir-gecko/dist/crashreporter-symbols/"): 在项目根目录下执行: $ . setup.sh && make buildsymbols 2.获取minidump的原始文件:...

一只攻城的柿子 6228

chromium网络栈学习

内容目录 1 Overview 3 1.1 常用工具 6 1.2 SSL,TLS 6 1.2.1 常识 6 1.2.2 browser代码中ssl版本的选择以及握手的过程 7 1.3 额外需要细节性分析的部分: 20 1.4 http 协议 20 1.4.1 http authencation 20 1.4.1.1 basic authentication 20 1

2453

windows系统,google breakpad中minidump_stackwalk的编译

有关google breakpad相关Lib库的编译,网卡信息较多。 可参考:https://blog.youkuaiyun.com/qq_19399235/article/details/69019064 但minidump_stackwalk和minidump_dump的编译很少,通过查看源代码,找到方法,共享之。 1 编译生成相关Lib 将gyp目录Copy到breakpad/src/tools...

Mi的专栏 4119

C++(Qt)软件调试---Qt使用qBreakpad定位崩溃位置(2)

本文介绍了在Linux环境下使用Qt库qBreakpad定位程序崩溃位置的方法。主要内容包括:1) qBreakpad依赖的Breakpad和linux-syscall-support获取;2) qBreakpad库编译过程;3) 测试程序崩溃时生成dmp文件;4) 使用dump_syms和minidump_stackwalk工具分析dmp文件定位崩溃位置。文章详细说明了编译环境的搭建、依赖问题解决以及调试工具的使用流程,为Qt开发人员提供了完整的崩溃定位解决方案。

mahuifa的博客 7807

minidump_stackwalk工具,用于分析breadpad生成的dmp文件。

minidump_stackwalk工具,直接解压就能用。 windows平台下使用,用于分析breadpad生成的dmp文件。 使用方法参见博客:blog.youkuaiyun.com/qq8864

dump文件生成工具使用介绍

场景: 用户的机器上发生了死锁,没有调试环境,怎么快速定位? 用户的机器出现了Crash,你的程序没有提供自动捕获dump机制,或者捕获dump失败了? 遇到这类问题,开启远程调试成本又太高,最有的信息就是生成dump文件,然后通过dump文件查看callstack等信息定位。 Dump文件生成原理: 使用windbg调试器包含的dbghelp.dll库函数MiniDumpWri

痞子龙3D编程 2959

minidump_stackwalk

android breakpad log 分析工具 rminidump_stackwalk 使用方法 方法一: minidump_stackwalk /breakpad/xxc.log

使用Dump文件让程序在崩溃时体面的退出

在我的那篇《让程序在崩溃时体面的退出之CallStack》中提供了一个在程序崩溃时得到CallStack的方法。可是要想得到CallStack,必须有pdb文件的支持。但是一般情况下,发布出去的程序都是Release版本的,都不会附带pdb文件。那么我们怎么能在程序崩溃的时候找到出错的具体位置呢?这个时候就该Dump文件出场了!Dump文件是进程的内存镜像,可以把程序运行时的状态完整的保存下来。 

System Architect 1030

minidump_stackwalk 执行档

breakpad中解析dump文件的工具! 通过dump_syms将pdb转换为sym文件后,在使用minidump_stackwalk来进行分析 minidump_stackwalk minidump.dmp ./symbols 该程序在linux下运行, ubuntu 16.04下测试通过 可以解析qt mingw版本编译程序生成的dump文件。

Altium Designer操作技巧(12)——如何进行邮票孔拼版?

【摘要】本文详细介绍了PCB设计中邮票孔拼板的全流程操作方法。首先解释了邮票孔拼板的定义、核心目的(提高贴片效率、方便生产)和适用场景(异形板、V-CUT无法实现的情况)。重点阐述了关键设计参数,包括孔径、数量、间隙等规范要求,并提供了两种具体操作方案:传统复制粘贴法和新版阵列放置法。文章通过图文详细演示了从PCB复制、邮票孔添加、板框定义到定位孔和Mark点设置的完整步骤,最后强调了对称性、非金属化孔等设计要点,以及需要与板厂确认工艺参数等注意事项。

u012526819的博客 1679

minidump_stackwalk工具使用说明

minidump_stackwalk工具使用说明 【下载地址】minidump_stackwalk工具使用说明 minidump_stackwalk是一款专为分析breadpad生成的dmp文件而设计的强大工具,特别适用于Windows平台。该工具无需安装,下载后直接解压即可使用,操作简便。通过它,开发者可以深入分析程序...

gitblog_06736的博客 797

技术文档的语言表达:简洁、准确与易懂的平衡艺术

技术文档的语言表达不仅要简洁、准确,还需要能够打破技术壁垒,使不同背景的读者都能理解。这是一项需要技巧和经验的工作,它要求技术作者既要具备扎实的专业知识,又要具备清晰的表达能力。通过不断打磨语言的简洁性、准确性和易懂性,我们能够创造出一份高质量的技术文档,让知识的传递不再受限于语言的障碍。

人心有反复,好在山水有重逢。 4678

【Qt 学习之路】抓取崩溃信息(读这一篇就够了)

笔者抓取应用程序的崩溃,当时是在windows上用mingw编译器进行编译的程序,可以直接用微软提供的 SetUnhandledExceptionFilter() 方法来实现(msvc编译器略有不同)。如果在mac上用clang编译器,就不能用这一套了。好奇读小伙伴会想,有没有一种在各个平台上都能用的崩溃处理方案呢?答案是肯定的。谷歌提供了一套跨平台的崩溃转储和分析框架和工具集合Google breakpad。

沙师弟专栏 1万+

ego-planner启动参数深度解析:从配置到实战避障应用

本文深入解析EGO-Planner启动参数的配置与实战应用,重点探讨无人机自主导航中的避障性能优化。通过环境感知、运动约束和算法控制三类参数的详细说明,结合ROS和RViz工具,提供从基础配置到高级调优的完整指南,帮助开发者提升无人机在复杂场景下的规划效率和安全性。

rum55的博客 247

【机械臂算法】基于最小惯性参数集的动力学辨识仿真实践

本文深入探讨了机械臂动力学参数辨识的核心挑战与解决方案,重点阐述了基于最小惯性参数集的理论与方法。通过分析PUMA560实例,详细介绍了利用QR分解法或符号推导法获取可辨识参数集,并系统讲解了从激励轨迹设计、仿真数据采集、线性系统求解到模型验证的完整实践流程,为高精度动力学建模与控制奠定了坚实基础。

weixin_29054399的博客 377

深入了解程序崩溃——minidump_stackwalk工具使用全解析

深入了解程序崩溃——minidump_stackwalk工具使用全解析 【下载地址】minidump_stackwalk工具使用说明 minidump_stackwalk是一款专为分析breadpad生成的dmp文件而设计的强大工具,特别适用于Windows平台。该工具无需安装,下载后直接解压即可使用,操作简便。通过它,...

gitblog_06717的博客 1485

【stm32+K210项目】基于K210与STM32协同工作的智能垃圾分类系统设计与实现(完整工程资料源码)

本系统采用SG90舵机Maix Bit摄像头STM32C8T6主控板以及LX_TRIG_MP3_V6.0语音播报模块,构建了一套高效的智能垃圾分类系统,综合运用了图像识别、语音播报及精准控制技术。SG90舵机负责控制垃圾桶的开盖操作。该舵机通过接收PWM信号来实现转动,内部有一个基准电路产生周期为20ms的PWM信号,通过外部脉冲信号的控制(高电平时间在0.5ms至2.5ms之间),使得舵机的输出轴转动到指定位置。舵机内的位置反馈电位计。

嵌入式技术开发 5103

android dmp文件解析,用minidump_stackwalk分析dmp文件失败

我使用的是macOS 10.13.6我成功把crash文件抓取到本地并且本地编译了minidump_stackwalk,但是使用工具的时候,terminal会报很多错误,用google搜索也找不到答案➜ processor git:(5467393a) ✗ ./minidump_stackwalk crashDump/e9c42b5d-8a0f-480d-d086608e-54b9110c.dm...

weixin_34858011的博客 1332

AI大模型探索之路-实战篇4:深入DB-GPT数据应用开发框架调研

在当今的人工智能时代,大模型技术的迅猛发展为各行各业带来了前所未有的变革。这些大模型,以其强大的语言理解和生成能力,正在逐步成为智能化应用的核心。然而,如何高效地利用这些大模型,构建出满足各种需求的应用,仍然是一个具有挑战性的问题。DB-GPT,作为一个开源的AI原生数据应用开发框架,应运而生,旨在简化大模型应用的开发过程,让构建智能化应用变得触手可及。本文将深入介绍DB-GPT的核心功能、关键特性,并通过实战操作,展示如何利用DB-GPT进行数据应用开发。DB-GPT是一个开源的AI原生数据应用开发框架。

寻道AI,探索AI无限可能! 1万+

esp8266步进电机驱动控制

blinker控制步进电机起保停,正反转(Arduino uno+esp8266+TB6600驱动器) Arduino uno的板子的程序 esp8266板子接入到Arduino uno的控制引脚上的5,6,7 esp8266程序 //****库***** #define BLINKER_WIFI //官方wifi协议库 #define BLINKER_PRINT Serial //串口协议库 #include <Blinker.h&gt

perseverance51博客 2856

crash-reporting/debugging-a-minidump

Table of Contents 目录 1 Table of Contents 2 Use minidump_stackwalk to show a stack trace 3 Use gdb to show a backtrace 3.1 Generate core file 3.2 Calculate address for sym

Hedpat's Blog | 黯風夜隱 895

1、符号回归:原理、应用与实践

本文全面介绍了符号回归(Symbolic Regression)的原理、发展历程、核心算法及其在科学与工程领域的广泛应用。文章从基本概念出发,详细阐述了基于遗传编程的符号回归机制,并探讨了其在游艇水动力学、化学过程、锂离子电池、生物医学等多个领域的实际应用。同时,博文还涵盖了高级技术如知识集成、系数优化、预测区间计算及微分方程发现等内容,对比了开源与商业软件工具,并展望了未来发展趋势,旨在为研究人员和从业者提供一本实用的符号回归指南。

ipfs8storage的博客 249

查找/分析Windows蓝屏DMP文件

当电脑出现蓝屏时,Windows系统会自动生成一个蓝屏错误DMP文件,这个文件保存在系统哪个位置,哪个目录下面,怎么获取到这个蓝屏错误DMP文件呢?若没有经过人为更改,蓝屏错误DMP文件一般默认会保存在系统根目录下,如C:\Windows\或C:\Windows\Minidump文件夹下,这是因为Windows系统版本不同而不同。 在Windows文件下找到了DMP文件,但是怎么打开DMP文件呢,...

Jair's Technical Blog 17万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

linux下使用dmp输出堆栈信息方法说明

linux下使用dmp输出堆栈信息方法说明 1、使用breakpad在程序崩溃后会产生dmp文件,此文件生成在tmp目录下 2、下载breakpad的代码编译安装,会得到minidump_stackwalk 和 minidump-2-core工具 3、使用命令行输出core文件 minidump-2-core xxxx.dmp >core 4、使用minidump_stackwalk生成堆栈日志 minidump_stackwalk xxxx.dmp >dbg.txt 产品官网...

Qt-UI.com 1538

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

windows下使用minidump获取和调试崩溃信息

非常简单和实用的功能,先上代码 1、使用minidump获取和打印崩溃信息 #include &lt;windows.h&gt; #include &lt;ImageHlp.h&gt; #pragma comment(lib, "DbgHelp.lib") void CreateDumpFile(LPCWSTR lpstrDumpFilePathName, EXCEPTION_POINTE...

各研发管理 893

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: android中打印调用栈
下一篇: fiddler给手机抓包
csshell2002
博客等级 码龄11年 30粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值