上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 122 下一页

2011年1月1日

Move EDI, EDI的作用

摘要: 玩WinDBG的时候, 发现函数的反汇编代码的最开始部分总是包含一条move edi, edi的指令. 比如下面的代码生成汇编代码的开头部分如下:Push EBP和Mov EBP, ESP两条指令是标准的栈框架建立的指令, 但是Mov EDI, EDI是做什么的呢? 看起来它就是两个字节的NOP指令.正解:mov edi, edi的确是个双字节的no-op指令, 它存在的目的是使得hot-patc... 阅读全文

posted @ 2011-01-01 18:10 中道学友 阅读(3043) 评论(0) 推荐(0)

在WinDBG中进行进制转换和简单的计算

摘要: 在WinDBG中可以进行一些简单的计算工作, 比如16进制与10进制之间的相互转换, 加减乘除等. 举例1, 进制转换: 注意, 上面的例子中的第二个命令告诉我们, 十进制的数字在windbg中进行表示的时候前面要加上前缀"0n", 而十六进制则可不必带上前缀"0x". 举例2, 除法计算: Debugging Tips: Use windbg as a calculator, a chat... 阅读全文

posted @ 2011-01-01 13:58 中道学友 阅读(2172) 评论(0) 推荐(0)

伪寄存器

摘要: 许多寄存器的名字取决于处理器的架构, 因此对于那些偶尔使用调试器的用户来说很难记住所有平台上的寄存器名字. 为了克服这个问题, 调试器的开发团队引入了各种伪寄存器(Pseudo-Register), 由调试器将这些伪寄存器对应到不同的硬件架构上. 所有的伪寄存器都由一个美元符号($)开始. 如果你使用MASM语法, 你可以在$符号之前添加一个@符号, 这个@字符会告诉debugger接下来的tok... 阅读全文

posted @ 2011-01-01 13:44 中道学友 阅读(1199) 评论(0) 推荐(0)

2010年12月27日

如何使用符号文件?

摘要: 几乎每个命令都会直接或者间接地使用符号信息. 进行符号检查的命令却不多. 查看符号的命令是x, 这个字符表示"查看符号". 语法如下所示: 0.00x [options] module!symbols module和symbols都可以包含通配符. 在调试陌生代码时, 通配符是一种功能强大的工具, 因为它使我们在阅读代码之前能够猜测函数的名字或者全局变量. 其中, 带有_imp前缀的函数... 阅读全文

posted @ 2010-12-27 16:30 中道学友 阅读(1039) 评论(0) 推荐(0)

如何验证已经加载的symbol file与module是否匹配?

摘要: 可以使用!chksym命令. 该命令接受一个内存地址作为参数, 只要这个内存地址属于某个module的范围之内, 那么该命令就会检查这个module的symbol和module是否匹配. !chksym 01000005 举例如下: 阅读全文

posted @ 2010-12-27 12:53 中道学友 阅读(381) 评论(0) 推荐(0)

2010年12月26日

成功运行过的WinDBG Commands–12-26-2010

摘要: lm v m 02samp* 列出module的信息, v代表verbose, 即详细, m代表可以使用通配符, 02samp*意图是匹配用02samp开头的所有module !lmi 02sample 显示模块的header中的信息. !lmi接受模块名或者模块地址作为参数 !sym noisy !sym quiet 符号加载过程的详细输出和非详细输出. 用于帮助你检查符号加载过程中可能出现的问... 阅读全文

posted @ 2010-12-26 22:26 中道学友 阅读(315) 评论(0) 推荐(0)

.reload 命令的一些常用形式

摘要: .reload /f 命令会强制debugger立即解析所有module相关联的符号文件. 于是我就想, 有没有什么命令可以立即去掉所有module相关联的符号文件呢? 找了半天也没找到, 最后发现.reload /f的反命令就是.reload 其他形式 =========== .reload module 抛弃模块module的符号信息. 任何解析符号的动作都将从硬盘上重新加载符号文... 阅读全文

posted @ 2010-12-26 22:24 中道学友 阅读(3185) 评论(0) 推荐(0)

2010年12月24日

为<<Advanced Windows Debugging>>配置符号路径

摘要: 纸上得来终觉浅, 绝知此事要躬行. 笔者开始动手运行AWD一书中的例子了. 在这里下载源文件, 可执行文件以及符号文件. 一开始设置符号路径的时候就遇到了困难, 这里记录下解决问题的过程. 先把最终可以正常工作的命令写在这里: .sympath srv*c:\symstore.pri*http://msdl.microsoft.com/download/symbols 1. 在http:... 阅读全文

posted @ 2010-12-24 22:59 中道学友 阅读(638) 评论(0) 推荐(0)

什么是符号文件?

摘要: 在构建应用程序, 库, 驱动程序或者操作系统是, 编译器和链接器会在创建.exe, .dll, .sys以及其他可执行文件(也被称为二进制文件或者映像)的同时, 还会创建一定数量的附加文件, 这些文件也被称为符号文件(Symbol File). 从Windows Xp和Windows Server 2003开始, 符号文件只使用PDB格式. 符号文件通常包含以下内容: 全局变量的名字和地址 函... 阅读全文

posted @ 2010-12-24 21:28 中道学友 阅读(1535) 评论(0) 推荐(0)

2010年12月22日

间歇性连接数据库失败, 先试试下面两篇文章

摘要: SQL Server Intermittent Connectivity Issue http://blogs.msdn.com/b/sqlprogrammability/archive/2008/05/27/sql-server-intermittent-connectivity-issue.aspx (provider: TCP Provider, error: 0 - Only one us... 阅读全文

posted @ 2010-12-22 17:20 中道学友 阅读(392) 评论(0) 推荐(0)

上一页 1 ··· 52 53 54 55 56 57 58 59 60 ··· 122 下一页

导航

技术追求准确,态度积极向上