问题描述
当我使用 perf 工具分析我的业务流程时,它中止了!
只是碰巧抓到了我的业务流程数据,其他流程正常。
我不知道原因。
我的程序有问题吗?如何调试?
如何正常使用perf record?
感谢您的帮助。 谢谢大家
环境:
# uname -a
Linux rk3326_64 4.4.194 #6 SMP Tue Jun 15 19:28:51 CST 2021 aarch64 GNU/Linux
# perf --version
perf version 4.4.194
perf top 命令和响应
# perf top -p <pid>
double free or corruption (!prev)
Aborted
perf 记录命令
# because this version perf doesn't support --sleep (specify the acquisition time ),so I use Ctrl-C to stop the perf command. when I stopped(Ctrl-C),it was aborted
# perf record -F 100 -p <pid>
double free or corruption (!prev)
Aborted
我在设备上打开 coredump。核心转储
核心转储文件名:core-perf-14092-6-1624288344
# gdb /usr/bin/perf ./core-perf-14092-6-1624288344
...
Core was generated by `perf top -p 12789'.
Program terminated with signal SIGABRT,Aborted.
#0 0x0000007f7f2692b8 in raise () from /lib/libc.so.6
[Current thread is 1 (LWP 14092)]
(gdb) #0 0x0000007f7f2692b8 in raise () from /lib/libc.so.6
#1 0x0000007f7f2579d4 in abort () from /lib/libc.so.6
#2 0x0000007f7f2a2040 in ?? () from /lib/libc.so.6
#3 0x0000007f7f2a862c in ?? () from /lib/libc.so.6
#4 0x0000007f7f2aa094 in ?? () from /lib/libc.so.6
#5 0x00000000004c46a4 in ?? ()
#6 0x000000000047a1b0 in ?? ()
#7 0x000000000048ab5c in ?? ()
#8 0x0000000000456520 in ?? ()
#9 0x000000000041ba68 in ?? ()
#10 0x000000000041d99c in ?? ()
#11 0x000000000044c5fc in ?? ()
#12 0x00000000004061c0 in ?? ()
#13 0x0000007f7f257e34 in __libc_start_main () from /lib/libc.so.6
#14 0x00000000004062ec in ?? ()
Backtrace stopped: not enough registers or memory available to unwind further
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)