用途:从运行中的进程捕获线程栈回溯,用于解释卡顿与冻结,并进一步判断死锁、阻塞式 IPC 或紧凑循环。建议重复采样,让挂起特征更明显。
主要能力:提供脚本 scripts/collect_stacks.sh,可按 PID 或进程名附加并采集 N 份栈转储;提供 references/triage.md 用于快速模式匹配(死锁、忙循环、阻塞 I/O)。
使用方式:先用 ps/pgrep 获取 PID,优先选前台应用 PID 而非开发服务器。快速路径:scripts/collect_stacks.sh --pid <pid> --out /tmp/hang --repeat 3 --sleep 0.5,或按名称 scripts/collect_stacks.sh --name "<process-substring>" --out /tmp/hang。若当前终端与挂起应用交互,请在单独终端运行。手动方式:macOS 用 lldb -p <pid> -o 'thread backtrace all' -o 'detach' -o 'quit' > /tmp/hang.txt 2>&1;Linux 用 gdb -q -p <pid> -ex "thread apply all bt" -ex "detach" -ex "quit" > /tmp/hang.txt 2>&1;Windows 使用 WinDbg 或 cdb 捕获全线程回溯。
排查:对比间隔 0.2–1 秒采集的 3–5 份样本,结合 triage.md 判断类型。补充触发卡顿的操作、精确时间窗口及卡顿前后的相关应用日志。
限制:资料未提供支持平台、依赖版本、权限要求或收费信息,暂未提供。