news 2026/5/1 5:01:38

[笔记]WinDBG使用教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[笔记]WinDBG使用教程

参考:
Windbg调试入门

https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/calls-window

文章目录

  • 前言
  • 准备
  • 使用
  • 显示一个EPROCESS结构和域的格式
  • 查看PEB
  • 查看堆栈
  • 定位当前异常地址
  • 查看已载入的符号
  • 查看内存
  • 断点
    • 断点某个函数
  • 查看模块列表
  • 查看所有线程,通过tid确认你要查看的线程
  • 切换到某个线程
  • 分析dump
    • 查看入参
  • 常用技巧
    • windbg 算地址
  • 总结

前言

Windows 调试程序 (WinDbg) 可用于调试内核模式和用户模式代码、分析故障转储以及在代码执行时检查 CPU 寄存器。

准备

Windbg安装
下载对应windows版本的SDK

使用

执行命令前都需要attach一个进程

显示一个EPROCESS结构和域的格式

0:002>dt nt!_eprocess ntdll!_EPROCESS +0x000 Pcb:_KPROCESS +0x2e0 ProcessLock:_EX_PUSH_LOCK +0x2e8 UniqueProcessId:Ptr64 Void +0x2f0 ActiveProcessLinks:_LIST_ENTRY +0x300 RundownProtect:_EX_RUNDOWN_REF +0x308 Flags2:Uint4B +0x308 JobNotReallyActive:Pos0,1Bit +0x308 AccountingFolded:Pos1,1Bit...

查看PEB

!peb# 查看PEB所有内容
!peb xxxx# !peb + 地址

查看堆栈

k

定位当前异常地址

.ecxr

查看已载入的符号

lml

查看内存

d
du[寄存器/地址]

断点

断点某个函数

bu winhttp!WinHttpConnect

查看模块列表

lm

查看所有线程,通过tid确认你要查看的线程

~*

Id: 1d20.2f84 .2f84就是tid,1d20是pid

0:016>~*#0Id:1d20.2f84 Suspend:0Teb:000000cc`53cca000 Unfrozen Start:TitanAgent!wmainCRTStartup(00007ff7`e5233800)Priority:0Priorityclass:32Affinity:ffff1Id:1d20.32a4 Suspend:0Teb:000000cc`53cd2000 Unfrozen Start:TitanAgent!thread_start<unsignedint(__cdecl*)(void*__ptr64)>(00007ff7`e532f920)Priority:0Priorityclass:32Affinity:ffff2Id:1d20.c80 Suspend:0Teb:000000cc`53cd4000 Unfrozen Start:TitanAgent!ExceptionHandler::ExceptionHandlerThreadMain(00007ff7`e4ef6b40)Priority:0Priorityclass:32Affinity:ffff

切换到某个线程

~[thread_num]s

例如切换到16号进程

~16s

分析dump

查看入参

点击call stacks的函数 对应Locals会显示对应的形参

常用技巧

windbg 算地址

常用于dump分析 结合反编译查看崩溃位置

总结

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 5:01:38

5分钟掌握ZeroOmega:浏览器代理管理的智能革命

5分钟掌握ZeroOmega&#xff1a;浏览器代理管理的智能革命 【免费下载链接】ZeroOmega Manage and switch between multiple proxies quickly & easily. 项目地址: https://gitcode.com/gh_mirrors/ze/ZeroOmega 在复杂的网络环境中&#xff0c;你是否曾为频繁切换代…

作者头像 李华
网站建设 2026/5/1 5:01:44

Vue 3 Composition API:响应式系统与依赖追踪

# Vue 3 Composition API&#xff1a;响应式系统与依赖追踪> 标签&#xff1a;Vue,Composition API,响应式,依赖追踪,Proxy## 前言&#xff1a;为什么需要深入理解响应式系统&#xff1f;Vue 3 的 Composition API 不仅仅是一种新的代码组织方式&#xff0c;它建立在全新的响…

作者头像 李华
网站建设 2026/5/1 5:01:44

终极指南:如何用CardEditor将桌游卡牌设计效率提升300%

终极指南&#xff1a;如何用CardEditor将桌游卡牌设计效率提升300% 【免费下载链接】CardEditor 一款专为桌游设计师开发的批处理数值填入卡牌生成器/A card batch generator specially developed for board game designers 项目地址: https://gitcode.com/gh_mirrors/ca/Car…

作者头像 李华