用途:定位并修复并发类缺陷,包括经典互斥锁死锁、异步 .await 死锁、活锁与重试风暴、数据库并发(以 SQLite 为主)、运行时初始化/重入风险、数据竞态与 TOCTOU、多进程与智能体集群竞态、锁中毒与部分状态、内存序与丢失唤醒。核心观点是并发缺陷往往不是少加一把锁,而是锁在错误位置、错误时机、跨错误操作持有;找到并修复可见的几处后通常还存在第四处,需通过代码审计穷尽证明无残留。
主要能力:提供症状分诊表,按现象(0% CPU 卡在 futex_wait、异步任务挂起但 worker 在 epoll_wait、100% CPU 无进展、database is locked、库加载时挂起、测试在负载下不稳定、集群停滞等)映射到九类缺陷;给出静态审计发现方法、修复目录与设计层预防。强调误报规则:静态模式匹配只是模式匹配而非证明,需验证真实代码路径,例如 Rust 的 &mut self 已提供同步、纳秒级临界区不应建议退避、OnceLock/Lazy 仅在加载器或信号处理路径可达时才算风险、正确的条件变量双重检查模式、以及同步来自其他机制时不应把 Ordering::Relaxed 判为缺陷。
使用方式:进程挂起时先用 ps -Lp $PID -o tid,pcpu,pmem,comm --no-headers | head -20 判断 CPU 存活情况,再择一抓取线程状态,如 gdb --batch -ex "set pagination off" -ex "thread apply all bt full" -p $PID 2>&1 | tee /tmp/bt.txt,或 strace -k -f -p $PID 2>&1 | head -200,或采样 /proc/$PID/task/*/stack;随后按分诊表分类并跳转对应章节。深度诊断(锁图构建、互斥锁持有者检查、异步运行时分析、TSAN/rr 流程)在配套的 gdb-for-debugging 技能中,本技能侧重分类、静态审计、修复目录与设计预防。
适用场景与限制:适用于 Rust 及多线程/异步服务、SQLite 应用、LD_PRELOAD 库、多进程与智能体集群的并发问题排查。资料未提供安装命令、收费与价格、平台支持范围及效果保证;部分引用文件(如 STATIC-AUDIT.md、DATABASE.md)与后续章节内容在给定资料中未完整展开,暂未提供。