Windbg 实践之结合条件断点】的更多相关文章

Case 1 1.bu USER32!PostMessageW "r $t0=@$t0+1;.printf\"PostMessageW Call Count:%d\",@$t0;.echo;g" 分号是用来分离语句的: $t0是伪寄存器: @$t0是读取寄存器当中的值: 2.bu USER32!PostMessageW "kb L2" a) 如果命中,打印2层栈帧. 这个技巧可以看到到底是谁调用的指定的函数. b) 另外通过找到函数的调用约定,我…
How to display the size value 1)一开始不会加载,chksym 了一下就加载了. 2) 新版本已经可以显示size的大小了 3)?? 显示变量的类型 4)x std::vector<int,std::allocator<int>>::size 无任何输出,发现是符号未被加载 5)哈哈,这玩意儿是一个模板,我在windbgTest的symbol中找到了他的定义 6)对于win10,最新版本的windbg,直接点击链接,就可以跳转过来了.…
中小研发团队架构实践之生产环境诊断工具WinDbg 生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具,Dump文件类似于飞机的黑匣子,记录着生产环境程序运行的状态.本文主要介绍了调试工具WinDbg和抓包工具ProcDump的使用,并分享一个真实的案例.N年前不知谁写的代码,导致每一两个月偶尔出现CPU飙高的现象.我们先使用ProcDump在生产环境中抓取异常进程的Dump文件,然后在不了解代码的…
0x01 前言 Windbg 作为 Windows 下的主流调试器,除了人机交互相比其他调试器略有不足外,其他功能都是十分强大的存在. 在所有的调试器中断点功能都是必不可少的,Windbg 可以使用 bp 等命令很方便的对地址和符号下断点,这些都是非常常用的,但是对字符下断点,尤其是 unicode 字符下断点则用的比较少,但是用的好确实能解决许多问题,比如需要记录和断下一些关键 API 的参数字符等. 0x02 对关键 API 下字符比较断点 如何使字符比较断点断下,使用 Windbg 脚本是…
生产环境偶尔会出现一些异常问题,WinDbg或GDB是解决此类问题的利器.调试工具WinDbg如同医生的听诊器,是系统生病时做问题诊断的逆向分析工具,Dump文件类似于飞机的黑匣子,记录着生产环境程序运行的状态.本文主要介绍了调试工具WinDbg和抓包工具ProcDump的使用,并分享一个真实的案例.N年前不知谁写的代码,导致每一两个月偶尔出现CPU飙高的现象.我们先使用ProcDump在生产环境中抓取异常进程的Dump文件,然后在不了解代码的情况下通过WinDbg命令进行分析,最终定位到有问题…
1 . 条件断点是断点命令 ( bp 或者 bu ) 与j命令或者.if命令一起使用的,后面跟着一个gc命令   0:000> bp Address "j (Condition) 'OptionalCommands'; 'gc' "    0:000> bp Address ".if (Condition) {OptionalCommands} .else {gc}" 2.      这里说下j命令,j命令的语法如下, 这里的Expression是表达式…
因为Windgb支持MASM语法,字符串的比较方法有$scmp和$sicmp.用法和c中的字符串比较方法一致.在需要比较字符串成员变量的时候,遇到了点问题.因为字符串成员变量无法直接获取字符串内容.poi指令是直接取地址.所以需要结合伪寄存器和别名进行封装. 伪寄存器语句如下: r @$t0=@@(&this->_test._Bx._Buf) _test变量的类型为string.@@为C++语法表达式. 别名的语句如下: as /ma ${/v:testAlias} @$t0 此时使用al,…
感谢博主 http://book.51cto.com/art/200711/59731.htm <Windows用户态程序高效排错>第二章主要介绍用户态调试相关的知识和工具.本文主要讲了排错的工具:调试器Windbg.   第二章 汇编.异常.内存.同步和调试器——重要的知识点和神兵利器 这一部分主要介绍用户态调试相关的知识和工具.包括:汇编.异常(exception).内存布局.堆(heap).栈(stack).CRT(C Runtime).handle/Criticalsection/th…
1.2.编辑菜单 这个菜单可以提供Windbg里的各功能窗口的可选文本的编辑功能,比如源代码窗口.命令窗口等提供选择.复制.剪切和黏贴等基础编辑功能. 剪切 单击剪切上编辑菜单中,删除所选的任何文本并将其移动到剪贴板.此命令是等效于按下 CTRL + X 或 SHIFT + DELETE,或单击剪切 (Ctrl + X) 按钮 () 工具栏上.可以使用剪切命令编辑菜单仅与停靠或选项卡式窗口,但可以与支持此功能的任何窗口使用键盘快捷方式和工具栏按钮. 复制 单击副本上编辑菜单将所选的任何文本复制到…
第一章 准备 1.1.    环境配置 _NT_DEBUGGER_EXTENSION_PATH=C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 _NT_SYMBOL_PATH=SRV*c:\Symbols*http://msdl.microsoft.com/download/symbols Path add: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 C:\Program Files\Debugging…