windbg(1)

1、http://www.cnblogs.com/huangyong9527/category/384128.html

2、http://www.cnblogs.com/pugang/category/415395.html

Ret 函数返回地址
 
ChildEBP RetAddr的解释
摘要: 参考文章http://www.sevenforums.com/crash-lockup-debug-how/34871-advanced-principles-debugging.htmlChildEBP: a pointer to a memory location which stores the address of the previous function on the stack ("stack frame").RetAddr: The "return address" where processing will resume once th
 
 
windbg 查看vector等stl结构
摘要: std::vector<std::wstring> vec;!stl vec查看vec中所有元素出现一下情况的话,看看是否新版本的windbg解决了这个问题“看来WinDbg还不支持VC10beta1,使用VS2008SP1编译器后一切正常!
 
 
ESP,EBP 汇编关于参数的传递
摘要: 参考了罗云斌的一篇文章,很清晰http://net.pku.edu.cn/~course/cs201/2004/Assembly/%BB%E3%B1%E0%D6%D0%B2%CE%CA%FD%B5%C4%B4%AB%B5%DD%BA%CD%B6%D1%D5%BB%D0%DE%D5%FD.htm子程序如何存取参数:因为缺省对堆栈操作的寄存器有 ESP 和 EBP,而 ESP是堆栈指针,无法暂借使用,所以一般使用 EBP 来存取堆栈,假定在一个调用中有两个参数,而且在 push 第一个参数前的堆栈指针 ESP 为 X,那么压入两个参数后的 ESP 为 X-8,程序开始执行 call 指令,call
 
windbg查询std::string的值
摘要: dt -r iWhich will recursively dump the iterator. One of the members should be the info you seek. Verbose, but effective. 阅读全文
 
 
函数调用约定Bug一则
摘要: 这两天一直在查一个Bug,图方便,直接通过Windbg Release调试。问题出现在一个很奇怪的地方,线程栈似乎被破坏,但是始终查不到原因。后来同事帮忙,VS Debug一下就把问题定位了,出在一个动态库导出函数的调用约定不一致。定义为_stdcall,调用处声明为C调用约定了。Release确实忽略了一些边界的检查,如果Release不能再现,或者思路不清的。别忘了使用Debug版。
 
 
寒江独钓<1>
摘要: 驱动模型区分:WDM 必须满足n种被要求的特性(如电源管理,即插即用);如果没有这些功能,则统一称为NT式驱动;如果调用了WDF的内核API,则称为WDF驱动。本书关注于通用的内核程序开发,不是针对某种硬件。例如,文件系统驱动,存储设备驱动,网络驱动。不是为了驱动某个硬件,而是在通用的windows上实现某种功能。开发环境的搭建:下载WDK,编译调试。无需VS,VS只是方便工程管理和编码。因为不是应用程序,所以所有win32API都不能使用。部分C Runtime函数也不能使用,但文档中说明的函数则可以使用。简单代码示例:#include <ntddk.h> // 提供一个Unlo
 
WIndbg 调试用户态
摘要: 1. 使用!process 0 0 获取用户空间的所有的进程的信息如果有多个相同进程名,!process 0 0 SampleExe.exekd>!process00****NTACTIVEPROCESSDUMP****PROCESSfe5039e0SessionId:0Cid:0008Peb:00000000ParentCid:0000DirBase:00030000ObjectTable:fe529b68TableSize:50.Image:System2. 使用.process /i 指定进程地址因为要对用户态代码下断点,这里不用/p,而使用/iIf you want to use
 
 
Windbg Symbol符号文件设置
摘要: [File]-[Symbol File Path]添加SRV*your local folder for symbols*http://msdl.microsoft.com/download/symbols例如:srv*C:\Windows\Symbols*http://msdl.microsoft.com/download/symbols从Microsoft Symbol Server获取符号文件到本地磁盘的C:\Windows\Symbols目录。多个符号文件路径时,用分号分隔。
 
 
Windbg VM调试设置
摘要: 1. 添加windows Debug启动项:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional[Debug]" /noexecute=optin /fastdetect /debug /debugport=com1 /baudrate=115200Win7 下因为没有C:\boot.ini文件,通过以下操作设置:bcdedit /enum osloaderbcdedit /copy {current} /d "Windows Win7 Copy"bc

你可能感兴趣的:(windbg(1))