WinDbg学习笔记二 - 第一个例子,以及常用窗口

Windbg调试(使用方法) 一、Windbg版本信息 Windbg分32位和64位版本,32位程序应使用32位Windbg调试,64位程序应64位Windbg调试。 若想使用64位的Windbg分析32位的程序, 使用如下命令进行CPU模式的切换: .load wow64exts;!sw //例如: 1.查看线程停在哪里 ~*kb;.load wow64exts;!sw; 二、Windbg调试程序步骤 1. F... 阅读详情

下面我们来做一个非常简单的例子,来感受一下WinDbg的使用,以及里面常用的窗口。


首先,在VS里创建一个C++的命令行程序DebugSample, 代码如下,



然后打开项目的属性窗口,选择Linker -> Debugging, 将Generate Map File改成Yes, 这样在Link的时候会生成map文件。



Build这个项目。


按笔记一设置好Symbol跟Source路径,点击File -> Open Executable, 找到DebugSample.exe,打开。如果source窗没有自动打开,则用File->Open Source File来手动打开。



测试断点功能。 在Command窗口输入bl, 这个时候应该没有任何断点显示。

输入bp main, 会看到有一个断点打在了main函数。再次bl, 会显示已经有一个断点了。



也可以用F9在代码窗口设置断点。


按F5继续运行直到断点的位置,F10单步到cout那行,鼠标可以放着变量上看变量的值。



也可以用Watch窗口来查看,View->Watch, 输入i, 可以观察i的值。


点击View -> Call Stack 可以查看callstack,


Command窗口:

点击View->Command打开命令窗口,默认情况下开始调试后,会自动打开。

命令窗口分为三部分,如上图:

1: 主要是用来显示输入跟输出

2: 提示符窗口,显示当前调试器的状态信息。如这里的0:000,第一个0表示当前进程号,后面的三个0表示当前线程号。有时候也会显示kd信息即内核调试信息,如

kd> 单处理器系统

0:kd> 多处理器系统,0表示当前处理器号

*BUSY* 表示调试器正忙。

3: 命令输入窗口

实战windbg调试驱动例子 阅读详情

相关推荐

解决WinDbg寄存器窗口无内容的实用技巧

本文针对WinDbg调试时寄存器窗口无内容显示的常见问题,提供了详细的排查与修复指南。核心解决方案包括手动补全缺失的dbgeng.dll文件、通过启动命令参数初始化视图,以及检查符号路径等进阶排查方法。文章旨在帮助开发者快速恢复寄存器窗口功能,确保调试工作顺利进行。

yhn456789的博客 982

windbg view及 vs2017 配置双机(虚拟机)内核调试

双机联调

°Destiny 1414

windbg解决线程死锁

1、打开将要被检测的软件A,同时打开windbg 2、windbg,File->attach to process ,附加到进程A 3、F5运行或DEBUG->GO 4、等待进程A进入死锁状态,然后DEBUG->Break,在下面的输入栏中输入   ~*kb,然后查看各线程信息,分析死锁原因

woshiyuanlei的专栏 5327

Windbg_03-Windbg界面概览

windbg之界面概览与菜单熟悉: 1.windbg的界面概览: 1.1:菜单栏与工具栏: 重点关注的是菜单栏和工具栏: 工具栏中的每一个工具都存在与菜单栏中,由于重要和常用,所以提取到了菜单栏中,菜单栏中的菜单可以自己选择设置。 我们重点关注菜单栏中的常用功能: Debug菜单和View菜单: 1.1.1:Debug菜单中的功能如下: Debug菜单提供了调试器的基本功能,如下图所示: 1...

qq_33168924的博客 547

windbg启动后寄存器窗口为空

打开windbg之后寄存器窗口就有了内容。

qq_15054345的博客 1124

图解说明WinDbg下载后的界面布局与调试窗口用法

详细介绍WinDbg下载后的主界面构成及各调试窗口的实际用法,帮助用户快速掌握windbg下载后的初始配置与操作逻辑,提升调试效率。

weixin_35749796的博客 702

Windows开发入门:工具-WinDbg的安装和使用教程

序言 目录序言安装1)下载2)配置环境变量3)重启并测试使用 参考文档: WinDbg的安装 安装 1)下载 点我跳转下载链接 直接点击页面里的 Download WinDbg Preview from the Microsoft Store就会自动打开windows应用商城下载。 安装完成后,可以从c盘搜索WinDbg找到安装目录,默认的是在C:\Users\你的用户名\AppData\Local\Microsoft\WindowsApps 2)配置环境变量 安装好之后就需要配环境变量,打开环境变量配置

锕琅的博客 10万+

保姆级教程:在Ubuntu 21.04上搞定USRP X410的UHD 4.1驱动与Gnuradio 3.9安装(含虚拟机网络避坑指南)

本文提供在Ubuntu 21.04上配置USRP X410的UHD 4.1驱动与Gnuradio 3.9的详细教程,涵盖虚拟机网络设置、依赖安装、源码编译及常见问题解决方案,帮助开发者高效搭建SDR开发环境。

weixin_27869497的博客 271

windbg 常用命令详解

一、 1、 !address eax 查看对应内存页的属性   2、 vertarget 显示当前进程的大致信息 3 !peb 显示process Environment Block     4、 lmvm 可以查看任意一个dll的详细信息 例如:我们查看cyusb.sys的信息 5.reload /!sym 加载符号文件 6、 l

chenyujing1234的专栏 9万+

【EPICS学习记录】根据官方教程创建一个IOC应用

参照官网给出的IOC创建教程逐步操作完成了一个IOC应用的创建,官网教程中有部分过程表述的不清晰,自己摸索之后完成了IOC的创建,并把流程记录下来。其中有一些操作不是很理解,有问题或者建议欢迎指正。

yifeng_H的博客 3660

Cadence17.4 Allegro PCB制板(gerber / 光绘)文件输出的顺序及注意点

Cadence Allegro PCB制板文件输出 (gerber 光绘文件输出)

weixin_45331044的博客 1万+

windbg c++ sample

 UnhandledExceptionFilter 函数调用时没有异常处理程序定义来处理引发的异常。 函数通常将异常传递达 Ntdll.dll 文件这将捕捉并试图处理它。 在该进程的内存快照存在某些情况下,您可以看到到一个线程持有锁点的线程调用的 UnhandledExceptionFilter 函数。 在这些情况中您可以按照本文标识导致异常的 DLL 中的步骤。Windbg.exe 打开

realduke2000的专栏 1006

Win10系统安装Ubuntu虚拟机,这回真的是零基础!(结尾附NS3的配置)

Win10系统安装Ubuntu虚拟机(结尾附NS3的配置) 序幕 本人现在还在念大二,有一门很有趣而且老师讲得也不错的课程《计算机网络原理》。这周老师布置了一个实验《NS3网络模拟》,为了详细记录本次实验过程,顺便也便于自己复习,就写了这篇博客,希望能够对你有帮助! NS3是什么呢?实际上就是一门算法,和计算机网络有关的。不过在我们日常使用的Windows系统上去做这个实验是行不通的,这个实验一定要在Linux系统上进行模拟才能玩的下去,作为一名 Windows选手对此表示不爽但是没办法,为了实验也只

灼热之翼的博客 7380

常用windbg命令

刚刚接触windbg,目前使用比较浅,在使用中总结了一些常用的命令,在此记下,今后不断丰富  WINDBG常用命令 1、kd> dt nt!_EPROCESS 2、!heap 扩展显示堆使用信息,控制堆管理器中的断点,检测泄露的堆块,搜索堆块或者显示页堆(page hea

kun2005wang3410323的专栏 838

计算机组成原理课程设计_微程序控制的简单模型机设计

微程序控制的简单模型机设计 要求 基本要求 完成一个简单主机的设计,模型机应具备如下能力:在自行设计的指令集基础上,运行自行编写的简单用户程序,实现特定运算功能。 弹性要求 在此基础上,完成必要的扩展,实现模型机的功能扩展设计,包括:实现多种运算功能(指令集的扩充)、支持更为丰富的寻址方式、有更为完善的微程序设计等。 实验软件和硬件环境 QuartusII, FPGA计算机组...

sailist的记录站 3万+

2026华为OD面试题084:贪心的商人

商人经营一家店铺,有 `number` 种商品。由于仓库限制,每件商品的最大持有数量是 `item[index]`。 每种商品每天有一个价格 `item_price[item_index][day]`。通过对商品买进和卖出获取利润,请给出商人在 `days` 天内能获取到的最大利润。 注:同一件商品可以反复买进和卖出。 输入描述: - 第一行输入商品数量 `number` - 第二行输入商人售货天数 `days` - 第三行输入 `number` 个整数,表示每件商品的最大持有数量 `item[in

琅嬛福地 271

几个常用的 WinDbg 命令

1. 查询符号 kd> x nt!KeServiceDescriptorTable*8046e100 nt!KeServiceDescriptorTableShadow = 8046e0c0 nt!KeServiceDescriptorTable =  kd> ln 8046e100(8046e100)   nt!KeServiceDescriptorTableShad

小喂的专栏 1383

【电弧】基于matlab simulink电弧仿真模型(Mayr Cassie电弧模型)【含Matlab源码 9226期】

simulink电弧仿真模型(Mayr Cassie电弧模型) 完整代码,包运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 191

WinDbg Command 窗口不显示解决方法

WinDbg Command 窗口不显示解决方法 第一步:菜单中 Window -> Undock all 查看Command窗口是否被遮挡,如果无效,进行下一步; 第二步:关闭Windbg,在注册表中删除 HKCU\Software\Microsoft\Windbg 整个项,重启动Windbg;

Rogeremail (绿色环保-菜青虫) 2809

QGis软件 —— 2、QGis加载在线地图两种方式(谷歌地图、天地图)

QGis软件 —— 2、QGis加载在线地图两种方式(谷歌地图)

1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

windbg常用命令总结

windbg常用命令的简单总结,方便使用时查询

萧戈的专栏 602

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

windbg常用命令

windbg常用命令2009-12-18 20:511.基本调试控制运行程序(Run): 快捷键:F5 命令:g单步步入(Step In): 快捷键:F8 命令:p单步步过(Step Over): 快捷键:F10 运行到光标所在行: 快捷键:F7执行到返回:gu执行到指定地址:g [Address]重新运行调试程序: 快捷键:Ctrl+Shift+F5(

827

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Windbg常用命令备忘

Windbg常用命令备忘 windbg是一款微软推出的专业实用的源码调试工具软件。 1、符号表下载方法:使用命令下载对应的符号表symchk /r c:\windows\system32\k* /s SRV*c:\symbols\*https://msdl.microsoft.com/download/symbols,然后就能在c:\symbols目录下得到对应dll的符号表; 2、windbg调试windows内核的设置: (1)vmware设置,删除打印机,添加串口,命名为\.\pipe\comdbg

m0_46256056的博客 2230
上一篇: WinDbg 命令
下一篇: 深入HRESULT与Windows Error Codes的区别详解
imJaron
博客等级 码龄11年 121粉丝 286原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值