windbg-kernel-verifier-triage
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDriver Verifier Triage
Driver Verifier 诊断
Load first if it is not already loaded in this
conversation, and apply it throughout for evidence ranking, hypothesis testing,
confidence calibration, independent review, and report validation. This skill
adds the bug-family-specific commands and evidence requirements.
windbg-diagnostic-method如果尚未在当前对话中加载 ,请先加载它,并在整个过程中应用它,以进行证据排序、假设测试、置信度校准、独立审查和报告验证。该 skill 会补充针对特定 bug family 的命令和证据要求。
windbg-diagnostic-methodScope
范围
Driver Verifier checks kernel driver contracts. Application Verifier is a
different user-mode facility; use for its heap
stops. Enabled Driver Verifier flags alone do not prove a contract violation.
windbg-user-heap-corruption-investigationUse this skill when a verifier-class bugcheck or analysis identifies an actual
violation. Examples include , , and ; inspect the exact code
and parameters rather than treating every stop as the same family.
0xC40xC90xE6Driver Verifier 检查内核驱动程序契约。Application Verifier 是另一种用户模式设施;对于其堆停止问题,请使用 。仅启用 Driver Verifier flags 并不能证明发生了契约违规。
windbg-user-heap-corruption-investigation当 verifier 类 bugcheck 或分析识别出实际违规时,使用此 skill。例如 、 和 ;应检查准确的代码和参数,而不是将每次停止都视为同一 bug family。
0xC40xC90xE6Workflow
工作流
1. Preserve code, subcode, and active configuration
1. 保留代码、子代码和当前配置
text
!analyze -v
.bugcheck
!verifier
kRecord the bugcheck, subtype/subcode, offending operation and driver when
reported, enabled checks, target build, and evidence availability. Decode each
subcode against its documented contract. Existing output may be incomplete in
a small dump; do not discard captured evidence merely because live
configuration is now different.
text
!analyze -v
.bugcheck
!verifier
k记录 bugcheck、subtype/subcode、报告时指出的违规操作和驱动程序、已启用的检查、目标 build 以及证据的可用情况。根据已记录的契约解码每个子代码。小型转储中的现有输出可能不完整;不要仅仅因为当前配置不同就丢弃已捕获的证据。
2. Decode available I/O history
2. 解码可用的 I/O 历史
When the violation supplies an appropriate IRP address and I/O verification
state is available:
text
!iovirp <irp-address>
!irp <irp-address>Shadow state may preserve information lost from the live request. Correlate it
with the decoded contract and use for completion,
cancellation, pending state, and ownership.
windbg-kernel-irp-lifecycle-triage当违规提供了适当的 IRP 地址且 I/O 验证状态可用时:
text
!iovirp <irp-address>
!irp <irp-address>Shadow 状态可能保留实时请求中已经丢失的信息。将其与解码后的契约关联起来,并使用 处理完成、取消、挂起状态和所有权。
windbg-kernel-irp-lifecycle-triage3. Recover context or follow dependencies
3. 恢复上下文或跟进依赖项
- Saved exception/trap context: .
windbg-kernel-bugcheck-triage - Lock-order evidence: .
windbg-kernel-lock-deadlock-triage - Outstanding or power request: .
windbg-kernel-irp-lifecycle-triage
Avoid cyclic dispatch. Carry the evidence already collected to the next skill;
re-enter only when a distinct evidence requirement exists.
- 已保存的异常/陷阱上下文:。
windbg-kernel-bugcheck-triage - 锁顺序证据:。
windbg-kernel-lock-deadlock-triage - 未完成请求或电源请求:。
windbg-kernel-irp-lifecycle-triage
避免循环分派。将已收集的证据传递给下一个 skill;仅当存在不同的证据需求时才重新进入。
4. Investigate uncovered violations
4. 调查未覆盖的违规
For a generic DDI violation, identify the exact precondition (IRQL, lifetime,
parameters, or ownership) and the driver call that broke it. For a DMA violation,
inspect supported adapter/map/unmap and buffer-lifetime evidence for that
subcode. This package does not provide a specialized decoder for every DDI or
DMA case; state the gap and continue from documentation and driver source.
对于通用 DDI 违规,请确定确切的前置条件(IRQL、生命周期、参数或所有权)以及违反该条件的驱动程序调用。对于 DMA 违规,请检查该子代码所支持的 adapter/map/unmap 和缓冲区生命周期证据。本包不提供针对每种 DDI 或 DMA 情况的专用解码器;应明确说明缺口,并根据文档和驱动程序源代码继续调查。
Controlled repro
受控复现
Do not enable Driver Verifier without approval. It can deliberately crash the
system and expose boot-critical defects. Use a recoverable test machine, save
the current configuration, select relevant vendor drivers/checks, and agree on
rollback before restarting. Do not verify every installed driver by default.
Read-only configuration inspection on a test machine:
text
verifier /querysettingsverifier /reset不要在未经批准的情况下启用 Driver Verifier。它可能会故意使系统崩溃并暴露影响启动的关键缺陷。请使用可恢复的测试计算机,保存当前配置,选择相关的厂商驱动程序/检查,并在重启前商定回滚方案。不要默认验证每个已安装的驱动程序。
在测试计算机上进行只读配置检查:
text
verifier /querysettingsverifier /resetValidation
验证
Name the exact violated contract, link the recorded operation to driver source,
and test that the remedy satisfies it under the same checks and workload.
Record dump/verification limitations and unverified assumptions. Passing a
single repro is not proof that every driver path is safe.
明确指出被违反的确切契约,将记录的操作与驱动程序源代码关联起来,并测试修复方案在相同检查和工作负载下是否满足该契约。记录转储/验证方面的限制和未经验证的假设。单次复现通过并不能证明每条驱动程序路径都安全。
References
参考资料
Feedback
反馈
Follow and submit reviewed, sanitized feedback to
WinDbg-Feedback.
Include and the package version from ; do not
automatically upload dumps or proprietary driver source.
FEEDBACK.mdwindbg-kernel-verifier-triageplugin.json遵循 ,并向 WinDbg-Feedback 提交经过审查和脱敏处理的反馈。请包含 以及 中的包版本;不要自动上传转储或专有驱动程序源代码。
FEEDBACK.mdwindbg-kernel-verifier-triageplugin.json