windbg符号加载和调试

驱动文件*。sys一般在目录:

pc机上每个东西都有驱动,键盘,鼠标,显示器、cpu等等。

没有驱动,这些东西都不能运作,就是一堆废品。


谈一谈windows驱动调试。

使用windbg调试。

一般安装ddk后,就安装了windbg,在目录

C: \程序文件(x86) \ windows工具\ 8.1 \调试器\ x64里就有了windbg调试工具。









时,即使命令输入框可以输入命令,但输入的命令不会立即被执行,要等windbg空闲时才能执行;

来终止一个长时间未完成的命令;



,,,

,,

,,

,,//,

,,


,,

,


,,,

,,,

,,

,

,

,,

,

,

,,

,

,

,,

,,

,,

,,

,,

,,//[! wow64exts。k),打印32位,64位堆栈

,//[! wow64exts。k 5],打印32位,64位堆栈,栈帧个数为5

,//, [! wow64exts.info],输出wow64相关的钢,TEB和TLS基本信息

,//[! wow64exts。r],输出处理器当前上下文信息

,,//[! wow64exts。r dumpTest !主要主要],输出函数地址的上下文信息


(延迟加载)。

,

,

,,,

,,,

,

,

,

,//重新加载不匹配符号的模块【

,//重新加载不匹配符号的TGame。exe

,

,,

,//,为TGame。exe加载符号信息

,,//显示已经加载进来的模块

,

,

,//,列出所有模块(加载和未加载)对应的符号信息

,,//查看ntdll。dll的详细信息(注意exe, dll等都不要带后缀名)

,

,

,

,

,,,

,,

,,

,

,,,

,,

,

,

,,

,//查看主线程

,

,,

,,

,,,

,,

,

,,

,

,//显示所有线程的CPU消耗

,,,

,

,

,,

,

,,

,

,,

,,

,

,,

,,

,

,,

,,//在TestCommon.dll的Test.cpp文件的ct:: add()函数起始处放置一个断点

(pVar)比;5)& # 39;& # 39;& # 39;& # 39;“,()









,,//不断住进程情况下,打印所有的RegOpenKeyExA调用(打开注册表键值)

,,

,,

,

,,,,,,,,,,,,,,

,,)

,】

,,,

,

,,,

,,,【】

,,),【】

,

,,,,【】

,】

,,)【】才能

,,,】

,,】


,,//不断住进程情况下,打印所有的RegOpenKeyExA调用(打开注册表键值)

,,

,,

,

,,,,,,,,,,,,,,

,,)

,】

,,,

,

,,,

,,,【】

,,),【】

,

,,,,【】

,】

,,)【】才能

,,,】

,,】


命令来修改数值进制表示方式(输入n可查看当前进制,默认为16进制)===

,,

,//表示显示myApp进程里全局变量g_app的内存布局(注:机器见上述说明)

,//查看模块WindbgTest的ct的内存布局(注:机器见上述说明)

,,//将0 x0041f8d4地址处内容按照模块WindbgTest的ct的内存布局来解析

,//,查看这指针的类型及成员变量(注:机器见上述说明)

,,//查看这指针的类型及成员变量,如果某一成员变量为结构体,则把其结构成员也一一打印出来

,//查看钢(过程# 39;s环境块)内存结构

,,//查看成员变量的值(注:机器见上述说明)

,//查看这指针中的成员变量(注:机器见上述说明)

,//显示局部变量nCount的地址(前面4198608为10进制表示地址,004010 d0为16进制表示地址)形如:评估表达式:4198608=4198608 d0

,,,

,,

,//,查看局部变量nCount的值

,//,查看函数参数变量一个的值







,,与值


,,

,

,,





,

,

,,null

windbg符号加载和调试