[笔记]WinDBG使用教程
参考indbg调试入门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:002dt 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查看内存ddu[寄存器/地址]断点断点某个函数bu winhttp!WinHttpConnect查看模块列表lm查看所有线程通过tid确认你要查看的线程~*Id: 1d20.2f84 .2f84就是tid,1d20是pid0:016~*#0Id:1d20.2f84 Suspend:0Teb:000000cc53cca000 Unfrozen Start:TitanAgent!wmainCRTStartup(00007ff7e5233800)Priority:0Priorityclass:32Affinity:ffff1Id:1d20.32a4 Suspend:0Teb:000000cc53cd2000 Unfrozen Start:TitanAgent!thread_startunsignedint(__cdecl*)(void*__ptr64)(00007ff7e532f920)Priority:0Priorityclass:32Affinity:ffff2Id:1d20.c80 Suspend:0Teb:000000cc53cd4000 Unfrozen Start:TitanAgent!ExceptionHandler::ExceptionHandlerThreadMain(00007ff7e4ef6b40)Priority:0Priorityclass:32Affinity:ffff切换到某个线程~[thread_num]s例如切换到16号进程~16s分析dump查看入参点击call stacks的函数 对应Locals会显示对应的形参常用技巧windbg 算地址常用于dump分析 结合反编译查看崩溃位置总结
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2566778.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!