建立调试会话
-
用户层调试会话的建立
-
直接创建进程并调试
-
附加到已经打开的进程
-
侵入式附加:接管正在运行的进程,可以进行调试
-
非侵入式附加:只能读取进程信息,不能接收目标进程的调试事件
-
通常情况下一个程序只能被一个调试器调试,如果一个程序正在被调试时而我们又想要去查看他的信息时就可以使用非侵入式附加的方式,实际不能调试,只能查看它的信息。
-
内核层调试会话的建立
-
使用物理机器调试虚拟机,建立双击调试环境
-
使用类似用户层的非侵入式调试,仅仅查看内核中的信息,本地内核调试
必要条件:
-
需要以调试的模式启动windows操作系统
-
需要以管理员的方式运行Windbg
-
打开Windbg选择内核调试,本地确定,开始查看!
- 工具栏详解
2. 窗口选项
-
-
概念:是在编译器编译可执行文件的时生成的一些文件,通常我们在windows平台遇到的符号文件叫做pdb文件,其中包括
-
全局变量类型、名称、地址
-
局部变量类型、名称、地址
-
函数名称、原型、地址
-
变量、结构体类型的定义
-
符号文件对于程序的调试非常重要,无论源码调试和非源码调试
- 设置方法一:
-
方法二:设置一个环境变量 _NT_SYMBOL_PATH
-
方法三:使用命令.sympath+
-
设置完路径后加载符号
-
使用命令 .reload刷新符号加载路径
-
使用命令 ld + [模块名]来加载某一个模块的符号
-
通过网络来获取符号文件
设置Symbol File (.pdb 文件)路径 SRVc:mysymbol http://msdl.microsoft.com/download/symbols
srvd:SymbolsLocalhttp://msdl.microsoft.com/download/symbols
调试的时候会从微软网站上下载符号,并存放在c:mysymbol目录中
如果有其它符路径用分号隔开,如 ;c:pdb
Windbg工作空间
-
当前Windbg中的工作环境称之为工作空间
-
当前的界面布局等调试器设置等信息
-
调试项目有关的属性,参数以及调试器设置等信息
-
默认工作空间
-
基础工作空间
-
-
默认用户态工作空间
-
默认转储文件工作空间
默认工作空间是以单个分析过程为区分的,例如当使用WinDbg分析一个应用程序时会根据可执行文件的路径和文件名为其建立一个默认的工作空间。
例如下面这个工作空间在保存之后,下次打开此程序的就会自动显示这个布局,别的程序就不可以使用这个工作空间
-
-
在WinDbg中可以为工作空间命名,可以把满意的工作空间保存起来或者转储成文件,下次调试起来就非常的方便了。
-
保存在WinDbg中
- 保存在文件中,可以带到任何地方只需要调试程序时,打开,Open WorkSpace in File找到保存的文件,就可以使用自己以前保存的工作空间了