首页 > 其他分享 >高通dump ftrace & kernelshark使用

高通dump ftrace & kernelshark使用

时间:2024-07-14 10:52:22浏览次数:12  
标签:ftrace crash dump trace -- cmd kernelshark

简介

高通 ramdump 可以解析出 ftrace,方便用于追踪 快省稳 问题。
kernelshark 是一个可以查看 trace event 的图形化工具,方便梳理和观察内核微观行为。
trace-cmd 是设置读取 ftrace 的命令行工具,kernelshark既可以记录数据,也可以图形化分析结果。
在 /sys/kernel/debug/tracing/events 终端打开所需要监控的 trace event

trace-cmd 编译安装

下载源码

git clone https://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git

trace-cmd编译安装:

make install--------------------------只安装trace-cmd

crash tool 编译安装

但这里高通 rdp 工具使用 crash 来处理 dump 里的 ftrace rawdata,再使用 trace-cmd 来把 rawdata 转换为 Ftrace.txt.

下载源码后直接编译:

make target=ARM64
make extensions

rdp 解析 ftrace

把上面编译出来的路径写入 linux-ramdump-parser-v2/local_settings.py

trace_ext = "/home/baihaowen/3T_DISK/tools/crash/crash/extensions/trace.so"
crashtool = "/home/baihaowen/3T_DISK/tools/crash/crash/crash"
tracecmdtool = "/usr/bin/trace-cmd"

解析 dump ftrace 需要加上 --dump-ftrace 选项

sudo python ramparse.py --vmlinux     /debug/apps/vmlinux      --auto-dump  /Port_NPI56/  -o  /Port_NPI56/rdpout/  --everything  --force-hardware msmnile -x --ipc-skip   --dump-ftrace

rdp 解析 ftrace 成功: rdpout/dmesg_TZ.txt

----------begin FtraceParser----------
/home/baihaowen/3T_DISK/tools/crash/crash/crash
args to crash: ['/home/baihaowen/3T_DISK/tools/crash/crash/crash', '--kaslr=0xf5b600000', '--machdep', 'kimage_voffset=0xffffff8ee3600000', '/Port_NPI56/DDRCS0_0.BIN@0x80000000,/Port_NPI56/DDRCS0_1.BIN@0x100000000,/Port_NPI56/DDRCS1_0.BIN@0x180000000,/Port_NPI56/DDRCS1_1.BIN@0x200000000,', '/debug/apps/vmlinux', '-p 4096', '-i /home/baihaowen/3T_DISK/tools/qcom-tools/M1971_rdp_tools/linux-ramdump-parser-v2/tmp/973QAFV3KF2XS_NPI56_dump_60H_20190906102228/tmpmInKQ6']
crash standard output recorded.
Ftrace successfully extracted.
trace-cmd standard error recorded.
------------end FtraceParser----------

使用 kernelshark

ubuntu 直接安装:

sudo apt-get install kernelshark

把 rdpout 目录生成的 rawtracedata 改名字为 rawtracedata.dat,再打开 kernelshark 载入 rawtracedata.dat

image

kernelshark 的使用:file:///usr/share/kernelshark/html/index.html (安装后)

如果单单是 trace event 文本,巨量的 trace 信息根本无法直观分析。 现在使用 kernelshark,io writeback、cpu schedule、memory alloc/reclaim 事件都可以图形化查看。

标签:ftrace,crash,dump,trace,--,cmd,kernelshark
From: https://www.cnblogs.com/linhaostudy/p/18301170

相关文章

  • 更新扫描MySQL库里的所有表的UPDATE_TIME,若发生变动就mysqldump
    背景 #!/bin/bash#MySQL连接信息MYSQL_USER="root"MYSQL_PASSWORD="123!"MYSQL_DATABASE="dev_flow_table"#记录上次查询的更新时间的文件LAST_RESULT_FILE="last_result.txt"CURRENT_RESULT_FILE="current_result.txt"DUMP_FILE......
  • Linux使用tcpdump命令抓包并使用wireshark分析常见的场景和解读
    使用tcpdump抓包并使用Wireshark分析网络流量是一项重要的网络管理和故障排除技能。以下是一个简单的步骤指南,涵盖了从抓包到分析的常见场景。抓包安装tcpdump在大多数Linux发行版上,您可以使用包管理器安装tcpdump。例如,在基于Debian的系统上:sudoapt-getin......
  • 解析coredump文件
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、coredump是什么?二、操作步骤总结前言编写程序的时候可能会遇到coredump问题,如下方法可以解析dump,简单定位报错问题内核版本:5.10提示:以下是本篇文章正文内容,下面案例可供参考一、......
  • vc core dump文件
    #include<Dbghelp.h>externintLocalAccessDBInit(LPCSTRstrDBName,LPCSTRpszLocakBackDB);voidCreateMiniDump(EXCEPTION_POINTERS*pep);BOOLCALLBACKMyMiniDumpCallback(PVOIDpParam......
  • Linux系统应用与设置(4):Linux抓包工具tcpdump
    1.简述        tcpdump是一款广泛使用的命令行网络分析工具,它能够捕获和分析网络上的数据包。这个强大的工具对于网络故障排查、安全监控和网络流量分析非常有用。        值得注意的是,通过tcpdump抓取的数据还可以通过保存为*.pcap文件,然后使用wireshark......
  • TDengine使用taosdump工具进行数据导出导入
    数据备份(导出)可以使用命令导出sql相关文件,这些导出的相关文件可以导入时使用taosdump-o[导出文件存放路径,需要是已存在目录]-D[数据库名]导出所有数据库使用-A代替-D,后不跟数据库名,但是博主没成功,使用-D单独导出一个库是很稳定的,导出目录下包含一个sql文件和一个tdengin......
  • Linux下二进制可执行文件分析 (nm,readelf,objdump 命令使用)
    最近在调试一些问题,发现几个命令很实用,记录一下。一 背景    也许大家都遇到过这种场景,就是有二进制代码,比如深度分析下此文件到底是什么格式的图片等,这篇文章就记录我分析下二进制可执行文件的过程,已经自己读写二进制文件的一些坑。分析的二进制执行文件为linux下......
  • postgresql pg_dump备份参数,不排除指定表名原因
    最近用pg_dump备份数据库搭建测试环境,想排除某些数据量大的表,但从备份出的bmp文件发现并没有排除指定表名,多次尝试后发现原因起初我的指令是这样的(错误):pg_dump-h10.***.***.**-p5432-Upostgres-ddatabase-nschema--exclude-table='*_copy'--section=data>/u01/bac......
  • gdb调试coredump文件
    查看coredump文件位置cat/proc/sys/kernel/core_patterncoredumpctllistcoredumpctldumppid_xxx--outputxxx.coregdb调试gdb-cxxx.corexxx.bintuiup1down1disas设置coredump文件位置sudosysctl-wkernel.core_pattern="/home/bill/project/test_coredum......
  • 在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结
    在Linux中,要使用tcpdump监听目标为主机IP为192.168.1.1,且TCP端口为80的数据包,并将输出结果保存到名为tcpdump.log的文件中,可以按照以下步骤操作:打开终端:首先,你需要在具有足够权限的用户账户下打开一个终端窗口。通常,root权限是必要的,因为普通用户可能无法监听网络接口的所有流......