1.推荐使用Windbg preview
2.蓝屏故障:[38]0x0000007A
3.WinDbg实践--入门篇
4.Windbg学习及在CTF中解题
推荐使用Windbg preview
推荐使用Windbg preview,查看查这是源码源代一个从window store直接下载的新版本。界面与以往的电脑Windbg相似,但提供了更优秀的查看查IDE和更友好的交互方式,无需输入命令。源码源代
通常情况下,电脑混服页游平台源码使用Visual Studio来调试或处理dmp文件是查看查可行的。然而,源码源代在某些特定场景下,电脑尝试使用Windbg preview或许能带来不同的查看查效果。
例如,源码源代我们近期在合并Unity引擎代码时遇到了一个问题。电脑在构建过程中,查看查Unity.exe生成成功,源码源代但在尝试使用它来生成default resource时遇到了错误。电脑查看命令行输出,仿小说源码我们可以看到一系列复杂的参数信息。同时,直接运行Unity.exe并未产生任何反应,也没有输出日志。
当我们尝试在winmain函数的第一行设置断点时,发现程序并未进入预期的执行流程。这意味着错误可能发生在全局静态变量的初始化阶段,但没有日志、输出或错误信息,只得到最终的结果,这无疑增加了问题解决的难度。
因此,我们利用Windbg来进行调试。通过加载并启动运行Unity.exe(也可以使用advance模式,添加自定义参数和项目路径),cm rom源码直接定位到了问题发生的位置。重要的是,在使用过程中记得设置正确的符号路径和源码路径,这大大简化了调试过程,提供了极大的便利性。
蓝屏故障:[]0xA
在《
蓝屏故障代码:[1]前因后果》首篇中已经概述了导致蓝屏的原因和解决思路。此文着重于蓝屏出错代码的具体原因分析,虽然不能良方治百病,但也能触类旁通解疑惑。
下载一个蓝屏查询器,经查这个 7a蓝屏错误代码的出错缘由是: 代码: 0xa原因: 传到系统呼叫的资料区域太小。
◆错误分析: 这个错误往往是虚拟内存中的内核数据无法读入内存造成的. 原因可能是虚拟内存页面文件中存在坏簇、病毒、磁盘控制器出错、内存(擦拭金手指)有问题。总分 asp源码
◇解决方案: 首先用升级为最新病毒库杀毒软件查杀病毒, 如果出错信息中还有0xCC或0xCA代码, 那么表示是坏簇造成的, 并且系统的磁盘检测工具无法自动修复, 这时要进入 故障恢复控制台, 用 chkdsk /r命令进行手动修复。
详情可以在开始→运行中输入:EventVwr.msc,回车后打开事件查看器,注意检查其中的系统日志和应用程序日志中标明错误的项。
之前,务必点选系统失败记录在案选项,否则蓝屏不能记录蓝屏事件(可能会被优化掉):控制面板→系统→高级→启动和故障恢复→系统失败→勾选将事件写入系统日志→确定
①蓝屏之后,在系统盘(通常是C盘)minidump文件夹下找到扩展名为dmp的出错文件。②扩展名为dmp文件需要使用源代码调试WinDbg软件来查看(微软官网可下载该软件)
①扩展名为DMP的日志文件为系统文件,如找不到,需要提前修改文件夹选项。②开始→控制面板→文件夹选项→查看→点选显示所有文件和文件夹→应用。③去掉隐藏受保护的操作系统文件、隐藏已知文件类型的扩展名前的对勾→确定
遇到蓝屏,长按开机按钮,软件采集源码关闭操作系统。再开机时,按F8键进入选择菜单,进入安全模式,也许会有改善。再重启电脑,继续按F8键,此时可以选择使用“最后一次正确的配置”启动Windows选项来解决诸如新添加的驱动程序与硬件不相符之类问题的一种方法。
除此之外,还可以到微软官网的知识库中查阅相关讯息,加以比对,甄别,找到解决方法。
分享经验:
如有帮助,请点有用。 如要细品,可点收藏。 如要继续,可点关注。 如要送人,可点分享。
WinDbg实践--入门篇
WinDbg,即Windows平台上的调试工具,它由Windows和Debug两个词组合而成,具备强大的调试功能,能够调试用户模式、内核模式以及dump文件等。其调试命令分为基本命令、元命令和扩展命令三类。基本命令和元命令是调试器自带的功能,元命令以"."开头,而扩展命令则以"!"开头。以下将通过实例和命令来实践WinDbg的使用。
一.配置微软符号服务器[未能成功]
在Windows程序中,通常会存在与XXX.exe相同名字的XXX.pdb文件,即Program Debug Database。pdb文件包含调试信息,由链接器生成。符号服务器(Symbol Server)是一个文件服务器,将调试符号进行集中存储,使得WinDbg能够解析符号名称。微软的符号服务器是常用的公共符号服务器,即msdl.microsoft.com/download/symbols,它是调试Windows应用程序和Windows内核程序不可或缺的。当然,用户也可以搭建自己的符号服务器。
1.WinDbg默认的设置路径
File -> Settings -> Debugging settings,默认的源码路径、符号路径和缓存路径如下:
2.设置_NT_SYMBOL_PATH环境变量
设置_NT_SYMBOL_PATH环境变量的值为:
SRV*D:\mysymbol*/thread-... [3]Windbg调试命令详解: yiiyee.cn/blog///... [4]WinDbg用法详解: wenku.baidu.com/view/ca... [5]Good tutorial for WinDbg: stackoverflow.com/quest... [6]WinDbg设置调试符号路径与调试符号下载: blog.csdn.net/qq_... [7]dotnet/symreader-portable: github.com/dotnet/symre... [8]搭建自己的符号服务器: bbs.pediy.com/thread-... [9]Windows调试工具: docs.microsoft.com/zh-c... []WinDbg Online Help: dbgtech.net/windbghelp/... []WinDbg官方文档: windbg.org/ [].NET探秘:MSIL权威指南: url.ctfile.com/f/... (访问密码: )
本文由 mdnice 多平台发布
Windbg学习及在CTF中解题
Windbg是一款强大的Windows调试工具,专为0和3环程序的分析和调试设计,对于定位和修复程序错误至关重要。它由微软开发,具有丰富的功能,适用于软件开发、故障排除和性能优化。
安装Windbg 时,需先下载Windows SDK,然后按照相关教程进行安装。其内置的help文档提供了详尽的使用指导。系统崩溃时,.dmp文件会记录内存映像,帮助我们理解程序的执行状态,而pdb文件则是存储调试符号信息,便于将二进制地址映射回源代码。
Windbg的基础命令包括查看数据的dt,如查看变量信息;执行与调试的bp(设置断点)、g(运行程序)、u(反汇编)、r(查看寄存器)等;以及辅助分析的.sympath(符号加载)和.load(导入插件)。利用!py mona这样的扩展功能,可以进行漏洞挖掘和ROP Chain的生成。
在实际的CTF解题中,比如一道涉及内存分析的题目,可以使用Windbg Preview分析dmp文件。通过命令如!analyze -v深入查找崩溃原因,查看加载的模块,利用pdb排除系统dll,通过内存布局分析可疑dll,最终找到隐藏的flag。