Windows平台的Windbg/x64dbg/OllyDbg/VisualGDB调试器简介以及符号文件*.pdb总结(1)(★firecat推荐★)

简介: Windows平台的Windbg/x64dbg/OllyDbg/VisualGDB调试器简介以及符号文件*.pdb总结(★firecat推荐★)

一、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官网:


WinDbg windbg


Windows 调试工具(WinDbg、KD、CDB、NTSD) - Windows drivers | Microsoft Docs windbg


使用 WinDbg 预览版进行调试 - Windows drivers | Microsoft Docs WinDbg Preview 新版本,仅适用于Win10


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


Common WinDbg Commands (Thematically Grouped)


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


image.png


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


image.png


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


image.png


或者使用命令行,达到同样效果:


C:\Program Files (x86)\Windows Kits\10\Debuggers\x64>gflags.exe -i SmartDispenser.exe +ust


★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是端口号,一定要与远程机一致),然后通过命令行的方式启动


相关文章
|
5月前
|
监控 编译器 Windows
Qt5实现Windows平台串口通信
Qt5实现Windows平台串口通信
|
5月前
|
安全 Linux iOS开发
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
528 53
Binary Ninja 5.1.8104 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
|
5月前
|
Linux API iOS开发
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
370 14
Binary Ninja 4.2.6455 (macOS, Linux, Windows) - 反编译器、反汇编器、调试器和二进制分析平台
|
6月前
|
安全 Linux API
JEB Pro v5.31 (macOS, Linux, Windows) - 逆向工程平台
JEB Pro v5.31 (macOS, Linux, Windows) - 逆向工程平台
221 0
|
7月前
|
Unix Linux 编译器
解决在Windows平台上运行Golang程序时出现的syscall.SIGUSR1未定义错误。
通过这种结构,你的代码既可以在支持 SIGUSR1 信号的系统上正常工作,又可以在不支持这些信号的 Windows 系统上编译通过,确保跨平台的兼容性和功能的完整性。
275 0
|
10月前
|
安全 前端开发 Linux
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
276 3
Immunity CANVAS Professional 7.27 (macOS, Linux, Windows) - 渗透测试和漏洞利用平台
|
Unix Linux iOS开发
Splunk Enterprise 10.0.0 (macOS, Linux, Windows) - 搜索、分析和可视化,数据全面洞察平台
Splunk Enterprise 10.0.0 (macOS, Linux, Windows) - 搜索、分析和可视化,数据全面洞察平台
193 0
|
11月前
|
安全 Windows
“由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。。。”的问题解决
本文主要介绍了因清理电脑垃圾文件时误删虚拟内存导致的Windows页面文件配置问题,并提供了详细的解决步骤。问题表现为开机后出现临时页面文件创建的提示弹窗。解决方法包括通过控制面板或快捷键进入高级系统设置,进而调整虚拟内存设置:进入性能选项中的虚拟内存栏,选择自动管理所有驱动器的分页文件大小,最后确认并重启计算机以恢复正常运行。
8263 5
“由于启动计算机时出现了页面文件配置问题,Windows在你的计算机上创建了一个临时页面文件。。。”的问题解决
|
算法 程序员 网络安全
Windows下版本控制器(SVN) - 1、开发中的实际问题+2、版本控制简介
Windows下版本控制器(SVN) - 1、开发中的实际问题+2、版本控制简介
62 0