原文链接:

https://blog.csdn.net/libaineu2004/article/details/104081676

一、Windbg

Windbg是微软开发的一套调试器中的组件。WinDBG属于内核级别调试器,不仅可以用来调试应用程序,也可以调试内核级的代码,如驱动程序。Windbg由于其丰富的命令和对Windows的原生支持还有其易用性,是其他其他调试器望尘莫及的。如果安装了Windows SDK,一般会带有windbg.exe,gflags.exe和appverif.exe,安装路径是:

Windows SDK v8.1

C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\windbg.exe

C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x86\windbg.exe

Windows SDK v10

C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe

C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\windbg.exe

注意,32位程序请使用32位windbg调试,64位程序用64位windbg调试。

gflags.exe和windbg.exe在同一个安装路径

WinDbg Preview

C:\Program Files\WindowsApps\Microsoft.WinDbg_1.2001.2001.0_neutral__8wekyb3d8bbwe\DbgX.Shell.exe

AppVerifier

C:\Windows\System32\appverif.exe

C:\Windows\SysWOW64\appverif.exe

★WinDBG官网:

http://www.windbg.org/ windbg

https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/ windbg

https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/debugging-using-windbg-preview WinDbg Preview 新版本,仅适用于Win10

https://www.microsoft.com/en-us/download/details.aspx?id=20028 AppVerifier

http://windbg.info/doc/1-common-cmds.html

如果 Windows SDK 已安装,但是没有windbg,请打开 "设置",导航到 "应用" & 功能",选择" Windows 软件开发工具包",然后单击"修改"以更改安装以添加Windows 调试工具.

我们用AppVerifier主要是为了打开页堆(page heap)调试功能,你也可以用系统工具 gflags.exe 来做同样的事。

打开gflags,菜单Image File,Image填exe名字,不要全路径,选上Create user mode stack trace database;

★Windbg特色功能:

1. 支持应用层程序调试(可以源码调试)

2. 支持内核层调试。如调试驱动和操作系统

3. 支持远程调试

4. 分析dump文件

5. 查看本地操作系统信息

6. 丰富的命令(可以看到你用其他工具看不到的信息)

不足:

1. 界面不是太友好

与vc调试器比较:源码调试器首选vc

与ollydbg比较:无源码应用层程序调试首选ollydbg

★远程调试应用程序
准备:
1. 远程机安装windbg

2. 本地安装windbg

远程机使用TCP链接设置:
设置windbg启动命令行:windbg.exe -server tcp:port=123456 (123456是端口号,这个可以随意设置)
然后通过命令行的方式启动,附加或启动一个需要调试的进程
本地机设置:
设置windbg启动命令行:windbg.exe -remote tcp:server=172.168.1.3,port=123456 (172.168.1.3是远程机器IP, 123456是端口号,一定要与远程机一致),然后通过命令行的方式启动

★姊妹篇

《Qt Creator的CDB调试器--使用技巧与心得,重点是Symbols Path设置》

《VC++内存泄漏检测方法(5):使用强大的Windbg工具,重点是Symbols Path设置》

★书籍推荐

张银奎,高端调试 http://advdbg.org/

张银奎《软件调试》

张银奎《软件调试(第二版)》

熊力,https://www.cnblogs.com/lixiong/,https://www.cnblogs.com/lixiong/archive/2010/02/11/1667516.html

熊力《Windows用户态程序高效排错》

熊力《Windows用户态程序高效排错》勘误和补充

★博文推荐

Windbg新手入坑指南

基于WinDbg的内存泄漏分析

从Ollydbg说起-----WinDbg用户态调试教程

二、OllyDbg(简称OD)

OllyDbg是用户态调试器,具有一定的智能分析能力,但与IDA(智能反汇编分析器)的分析能力相比,不是一个量级的。但它的调试器功能非常完善。所以通常用IDA来阅读代码,而用Olly来动态跟踪程序。

OllyDbg:3级调试工具,与当年的TRW2000(RING 0级调试工具)齐名,用的人很多。上手容易,教程如牛毛。只能用来搞32位程序,作者已不再更新。
x64dbg:新型的调试工具32位/64位都能搞,相对bug多,教程少;但是越来用的人越多。周更新。

WinDbg:一般调试微软内存/蓝屏工具,一般人玩不动。
IDA:可动态、静态、流程图式分析与调试,占用资源也最多。

http://www.ollydbg.de/

https://www.52pojie.cn/thread-350397-1-1.html 52pj-Ollydbg

三、x64dbg

x64dbg是Windows下的32/64位调试器,开源。x64dbg采用 QT 平台编写,支持多国语言。熟悉OllyDbg的用户应该很容易上手。x64dbg整体前景比较乐观,功能有待加强,但界面简洁明晰、操作方便快捷,设计人性化等。通过这款调试工具用户可以分析64位的应用,这是OllyDbg所不能做到的,它只能分析32位应用,所以想要分析64位应用,你可以使用小编带来的这款调试工具,是一款专门用于分析64位应用的调试软件。支持类似C的表达式解析器、全功能的DLL和EXE文件调试、IDA般的侧边栏与跳跃箭头、动态识别模块和串、快反汇编、可调试的脚本语言自动化等多项实用分析功能,可以帮助你完成64位应用的分析。

https://x64dbg.com/

https://github.com/x64dbg/x64dbg

https://www.52pojie.cn/thread-1094207-1-1.html

https://www.lanzous.com/i8mzfrc 原版+插件下载,52pj

x.微软符号文件,http://msdl.microsoft.com/download/symbols

1、下载方法

方法1:  使用vs进行下载,当然必须是vs2003以后的版本,通过attach到一个进程中或者启动一个程序进行调试。

方法2: 使用Windbg进行下载,同样是attach或run一个程序,Ctrl+S设置一下符号路径,然后使用命令.reload

2、设置调试器Symbols路径
WinDBG、VC.Net及以上版本都可以通过设置环境变量指定Symbols路径,并都能根据环境变量设置自动去微软服务器拉取window系统symbols。

右键我的电脑—〉“属性”—〉“高级系统设置”—〉“高级”—〉“环境变量”—〉“系统变量”,新建两个环境变量:

_NT_SYMBOL_PATH和_NT_ALT_SYMBOL_PATH_NT_SYMBOL_PATH=C:\Symbols;srv*C:\Symbols*http://msdl.microsoft.com/download/symbols
_NT_ALT_SYMBOL_PATH=cache*C:\Symbols
_NT_SYMBOL_PROXY=127.0.0.1:8100

这样设置后,调试器首先会到_NT_ALT_SYMBOL_PATH指定的共享路径中去寻找pdb文件,并把找到的文件缓存到C:\Symbols目录下,下次访问时就不用到共享目录中查找,这样可以提高速度。当在_NT_ALT_SYMBOL_PATH中找不到时会查看路径_NT_SYMBOL_PATH,接着自动从微软官方网站下载windows系统的pdb文件,并缓存到共享目录C:\Symbols中,缓存的好处是下次直接从共享目录拉取,不用再跳到微软网站拉取。
注意:设置以上变量后第一次使用Windbg或者VS调试时,因为要下载windows系统的pdb文件,可能要等待一段时间(Windbg会在命令行窗口右下角显示“BUSY”状态,但也有可能不显示状态,VS在状态栏会显示Loading symbols for XXX),并且pdb文件都相对比较大,视网速快慢,可能要等待十几分钟到几个小时。另外在测试中发现,WinDbg下载symbols的速度比VS快得多。

Windbg/x64dbg/OllyDbg调试器简介相关推荐

  1. GDB调试器——GDB调试器简介

    以下内容源于C语言中文网的学习与整理,如有侵权,请告知删除. 一.程序调试器的含义 程序中的错误主要分为 2 类,分别为语法错误和逻辑错误. 程序中出现的语法错误可以借助编译器解决:但逻辑错误则只能靠 ...

  2. 转载:Qt Creator的CDB调试器--使用技巧与心得,重点是Symbols Path设置

    Qt Creator的CDB调试器--使用技巧与解决调试很慢的心得,重点是Symbols Path设置_$firecat全宏的代码足迹$-CSDN博客_cdb.exewindows系统下主要的调试器: ...

  3. 【Windows 逆向】OD 调试器工具 ( OD 附加进程 | OD 调试器面板简介 | 反汇编窗口 | 寄存器窗口 | 数据窗口 | 堆栈窗口 )

    文章目录 一.OD 附加进程 二.OD 调试器面板简介 ( 反汇编窗口 | 寄存器窗口 | 数据窗口 | 堆栈窗口 ) 一.OD 附加进程 先启动游戏 , 打开 OD 调试工具 ; 游戏 参考 [Wi ...

  4. 【Windows 逆向】OD 调试器工具 ( OD 工具简介 | OD 工具与 CE 工具对比 )

    文章目录 一.OD 工具简介 二.OD 工具与 CE 工具对比 三.博客资源 一.OD 工具简介 OD 全程是 PLLYDBG , 动态追踪工具 , 是目前最流行的 调试解密 工具 ; 该工具支持插件 ...

  5. 如何修改默认调试器-windbg

    如何修改默认调试器-windbg windows nt 程序崩溃时,自动弹出,windows停止工作,可设置默认调试器: 运行:Regedit->打开windows注册表: 32位系统:HKEY ...

  6. 【Android 逆向】代码调试器开发 ( 代码调试器功能简介 | 设置断点 | 读写内存 | 读写寄存器 | 恢复运行 | Attach 进程 )

    文章目录 一.代码调试器功能简介 二.Attach 进程 一.代码调试器功能简介 代码调试器功能 : 设置断点 : 无论什么类型的调试器 , 都必须可以设置断点 , 运行到断点处 , 挂起被调试进程 ...

  7. x64dbg调试器使用

    x64dbg调试器使用 x64dbg调试器 x64dbg基本功能 控制软件运行 查看软件运行中信息 修改软件执行流程 x64dbg调试器的使用 测试程序 使用步骤 打开软件 软件下载 x64dbg调试 ...

  8. 编写windbg调试器扩展 入门篇1

    我博客的左侧专栏曾经转过windows下编写调试器的一系列文章,这类文章是从零打造调试器,而这篇文章是介绍如何为windbg编写调试器扩展命令. 0.前言 windbg的命令有很多,其中以" ...

  9. Python调试器-Pdb的简介及调试命令

    Pdb简介 pdb为Python程序定义了一个交互式源代码调试器.它支持在源代码行级别设置(条件)断点和单步执行,检查堆栈框架,源代码列表以及在任何堆栈框架的上下文中评估任意Python代码.它还支持 ...

最新文章

  1. SQLite的锁的原理:
  2. 贪心算法--多处最优服务次序问题
  3. Java中static的含义和用法
  4. VTK 曲面构建+颜色映射
  5. 渗透测试流程(单台服务器)
  6. Elastic全球用户大会Elastic{ON}首次落地北京
  7. python自定义修饰器_Python概述
  8. 【转】ASP.NET ViewState详解
  9. Pytorch:variable中grad属性和backward函数grad_variables参数的含义
  10. 基于PHP+Web+Mysql的在线问卷调查系统
  11. MATLAB多元线性拟合——03
  12. Baas是什么?区块链Baas平台开发解决方案带你知晓
  13. 高仿精仿微信客户端源码完整版
  14. js组件化、模块化开发
  15. 嵌入式linux qos tc,iptables和tc脚本实现智能QOS
  16. 从零开始学习CANoe(十九)—— Diagnostics
  17. 霍常亮app淘宝客开发视频教程第7节
  18. 抓取服务器作业文档不存在,易飞ERP问题解答
  19. ATTCK红队评估(红日靶场二)
  20. 清理磁盘空间【win10篇】

热门文章

  1. C#上位机——串口发送
  2. 树莓派4B安装Ubuntu mate和Ubuntu Desktop
  3. OpenStack Magnum 创建集群 The VolumeType () could not be found
  4. 《PPT高手之道:六步变身职场幻灯派》一导读
  5. xpath爬取我爱我家杭州地区租房网
  6. 计算机电子教室发展趋势,探究“电子教室”在信息技术课堂教学中应用的利与弊.doc...
  7. 缘“熟”而起——《乡土中国》读书笔记3600字
  8. 如何查找mysql数据库ip_如何查看连接MYSQL数据库的IP信息
  9. 新浪腾讯微博互刷互粉工具-网页版
  10. GSM之AT操作命令详解