WinDbg从字面意思就是Windows+Debug的组合,即Windows平台上的调试工具,能够调试用户模式、内核模式、dump文件等,总之晓得它的调试性能十分弱小就行了。WinDbg调试命令分为3种,别离是根本命令、元命令和扩大命令。根本命令和元命令是调试器自带的,元命令总以"."结尾,而扩大命令总以"!"结尾。前面的系列次要是通过例子+命令来实际WinDbg。
一.配置微软符号服务器[没能胜利]
WinDbg在Windows程序中,通常都有一个和XXX.exe雷同名字的XXX.pdb,pdb的全拼是Program Debug Database。pdb有本身的文件格式,它次要蕴含了调试信息,该文件是由链接器生成的符号文件。符号服务器[Symbol Server]实质上就是一个文件服务器,它把要调试的符号进行了集中存储,这样只有把WinDbg指向符号服务器就能够解析符号名称了。罕用的公共符号服务器就是微软的符号服务器了,即http://msdl.microsoft.com/dow...,这个是调试Windows应用程序和Windows内核程序必不可少的。当然也能够搭建本人的符号服务器。
1.WinDbg默认的设置门路
File -> Settings -> Debugging settings,默认的源码门路、符号门路和缓存门路如下:
2.设置_NT_SYMBOL_PATH环境变量
设置_NT_SYMBOL_PATH环境变量的值为SRV*D:\mysymbol*https://msdl.microsoft.com/download/symbols
:
在WinDbg中执行命令!sym noisy[显示具体加载信息]和.reload /f[加载符号]如下:
通过上图一看就是网络连接的问题。文章[6]讲要设置下proxy才行,设置_NT_SYMBOL_PROXY环境变量的值为127.0.0.1:19180:
依照操作proxy也设置和关上了,执行.reload /f命令仍然原样报错,并且网上没有找到解决方案。关上https://msdl.microsoft.com/do...提醒如下:
阐明:总之没有可能从微软的符号服务器下载数据,并且网上没有找到无效的解决方案。因为临时也用不到这个,就先这样告一段落,有知情的小伙伴能够分享下解决方案。
二.WinDbg罕用的命令
1.命令.cls
输出.cls清空Command窗口中的内容:
2.命令version
应用version命令查看版本信息:
3.命令vertarget
应用vertarget命令查看指标计算机版本信息:
4.命令lm
应用lm查看模块信息:
次要显示模块名称,模块开始地址,模块完结地址,模块门路等信息。
5.命令!dlls
应用!dlls命令查看模块信息:
6.命令.process
应用.process显示以后过程信息:
7.命令.thread
应用.thread显示以后线程信息:
8.命令!peb
应用!peb命令显示过程环境块信息:
9.命令!teb
应用!teb命令显示线程环境块信息:
10.命令!address -summary
应用!address -summary命令显示内容地址摘要信息:
11.命令.sympath
应用.sympath查看以后符号搜寻门路等信息:
三.应用WinDbg关上notepad.exe
WinDbg开启调试的形式有很多种,这里应用关上可执行文件的形式:
应用WinDbg关上notepad.exe后,Command窗口显示内容如下:
次要显示Windows Debugger版本,执行性文件门路,符号搜寻门路等信息。
四..NET探秘:MSIL权威指南
明天举荐的一本好书和老书是《.NET探秘:MSIL权威指南》,这本书以.NET2.0为根底,是解说MSIL的权威著述,感兴趣的小伙伴能够下载[12]。前面要把WinDbg操作和MSIL实际融入到日常的.NET软件开发中,以进步软件的安全性。
参考文献:
[1]WinDbg用户态调试教程:https://bbs.pediy.com/thread-...
[2]Windbg老手入坑指南:https://www.52pojie.cn/thread...
[3]Windbg调试命令详解:http://yiiyee.cn/blog/2013/08...
[4]WinDbg用法详解:https://wenku.baidu.com/view/...
[5]Good tutorial for WinDbg:https://stackoverflow.com/que...
[6]WinDbg设置调试符号门路与调试符号下载:https://blog.csdn.net/qq_4125...
[7]dotnet/symreader-portable:https://github.com/dotnet/sym...
[8]搭建本人的符号服务器:https://bbs.pediy.com/thread-...
[9]Windows调试工具:https://docs.microsoft.com/zh...
[10]WinDbg Online Help:http://www.dbgtech.net/windbg...
[11]WinDbg官网文档:http://www.windbg.org/
[12].NET探秘:MSIL权威指南:https://url39.ctfile.com/f/25... (拜访明码: 2096)
本文由mdnice多平台公布