当前位置: 首页 > news >正文

WinDbg 随笔 001 —— HelloWorld + WinDbg

声明:个人笔记,概不负责

今天搞出个 C 程序,连 main 都进不了,WinDbg 也没办法断,无奈只能架起 宇宙第一的 Visual Studio 写个 HelloWorld 对比一下差异。

这 WinDbg 断 HelloWorld 我搞过好多回了,每次都随机抛弃,干脆这次写个笔记,下次好查。

这也可以做为 WinDbg 零基础的人,进入 WinDbg 世界的第一站。

吐槽:以前长期写应用程代码,到 Driver 层第一次搞 WinDbg 时,周围有些人的态度让我觉得是侮辱智商。
一些家伙连基本 C 代码都搞不利索,就拿个会用 WinDbg 在那里摇啊摇,还把它当个技能。
我勒个去,你 C 代码都整不利索,还能理解二进制运行模型?WinDbg 于你而言,不就是等同 DOS 命令吗?

Hello World 之前的世界

一秒钟的答案

0:000> kL# Child-SP          RetAddr               Call Site
00 0000004f`9ff0fca8 00007ff6`6a432259     ConsoleApplication1!main
01 0000004f`9ff0fcb0 00007ff6`6a432102     ConsoleApplication1!invoke_main+0x39
02 0000004f`9ff0fd00 00007ff6`6a431fbe     ConsoleApplication1!__scrt_common_main_seh+0x132
03 0000004f`9ff0fd70 00007ff6`6a4322ee     ConsoleApplication1!__scrt_common_main+0xe
04 0000004f`9ff0fda0 00007ffe`cf19e8d7     ConsoleApplication1!mainCRTStartup+0xe
05 0000004f`9ff0fdd0 00007ffe`cfa8c53c     KERNEL32!BaseThreadInitThunk+0x17
06 0000004f`9ff0fe00 00000000`00000000     ntdll!RtlUserThreadStart+0x2c

为小白铺路,为“知识”平权

Step-by-Step for key points.

不过 VS 中编个 C 的 Hello World 与 安装启动 WinDbg 就不啰嗦了,现在网上下个 WinDbg Preview 轻松 + easy 啊。

Step 1

用 WinDbg 启动 编出来的 exe ,进入后的 第一次 画面,要素标注,量大管饱

(用 WinDbg 全 GUI 界面,去启动 exe 操作,傻瓜式,略)

image

Step 2

查 感兴趣的 函数(需要 Symbol,但这东西你自己编出来的,肯定有)

设断点(略,手册有,在查出来 在函数名上 鼠标右键 也可以搞)

查看已设立的断点

image

Step 3

终极世界,g 啊 go 然后 k 看调用堆栈

image

=====
华丽的 结束线

http://www.jsqmd.com/news/41271/

相关文章:

  • 数据结构2:单链表 - 教程
  • 20251115 - Hash 总结
  • BZOJ2372 music
  • P11664 [JOI 2025 Final] 缆车 / Mi Telefrico
  • WPF中RelayCommand的完成与使用详解
  • C++篇(14)二叉树进阶算法题 - 详解
  • Python 潮流周刊#127:Python 3.16 JIT 性能提升计划
  • 非线性序列密码结构
  • 2025/11/15
  • LoongOS 上传文件
  • 基础设施即服务(IaaS)全面解析:云计算的基石
  • CentOS 7 通过 Packstack 安装 OpenStack Train 完整步骤
  • 【STM32工程开源】基于STM32的人体健康监测环境
  • 实用指南:【C# OOP 入门到精通】从基础概念到 MVC 实战(含 SOLID 原则与完整代码)
  • tailwind自定义class问题小记
  • 2025年主流开源AI智能体框架平台概览 - 实践
  • threading.local()的实例化机制
  • Tarjan复建
  • 采用git进行项目管理
  • Golang游戏开发笔记:地图索引系统实现
  • 20251115
  • 网络爬虫:简单静/动态网页
  • 20232307 2024-2025-1 《网络与系统攻防技术》实验五实验报告
  • EXECUTE IMMEDIATE语句分析
  • 产品更新与重构策略:创新与稳定的平衡之道 - 详解
  • MySQL MVCC实现原理
  • 算法第三次作业
  • 算法第三次作业
  • 完整教程:《简易制作 Linux Shell:详细分析原理、设计与实践》
  • 计算机网络5 - 指南