gpt4 book ai didi

android - 如何从 traces.txt 中知道线程处于当前状态的时间

转载 作者:行者123 更新时间:2023-11-30 01:54:28 24 4
gpt4 key购买 nike

例如,如果我有 traces.txt 文件,并且线程的状态如下:

"callActivityManagerForStrictModeDropbox" prio=5 tid=71 Suspended
| group="main" sCount=1 dsCount=0 obj=0x13394a00 self=0x42746c00
| sysTid=1659 nice=10 cgrp=bg_non_interactive sched=0/0 handle=0x7b491e80
| state=S schedstat=( 264773038 522311652 63568 ) utm=0 stm=26 core=1 HZ=100
| stack=0x7d40c000-0x7d40e000 stackSize=1036KB

从上面的数据中,有什么方法可以知道线程保持挂起状态的持续时间是多少?

最佳答案

没有状态更改时间戳。您无法判断线程处于其当前状态多长时间。

可以比较两个连续堆栈跟踪之间的 schedstat 和 utm/stm 以查看线程是否同时执行,但这对 ANR 没有真正帮助。

在 Dalvik 中,ANR 输出中处于 SUSPENDED 状态的线程在 ANR 处理程序唤醒之前本来处于 RUNNING 状态——它被暂停是为了收集 ANR 报告的堆栈跟踪。你的痕迹似乎来自 ART,我无法与之交谈,但如果它以类似的方式表现,我不会感到惊讶,在这种情况下你的问题很容易回答(“不是很长”)。

关于android - 如何从 traces.txt 中知道线程处于当前状态的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32485921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com