本文网页排版有些差,已上传了doc,可以下载阅读.本文中的所有代码已打包,下载地址在此. -------------------------------------------------------------------------------------------------------------------------------------------------------------- 手写一个调试器有助于我们理解hook.进程注入等底层黑客技术具体实现,在编写过程中需要涉及大…
工欲善其事,必先善其器.调试器在嵌入式开发调试中的重要性不言而喻,单步.断点和监察的效率远高于串口打印.但是,调试器对于一般开发人员往往是一个黑匣子.今天我们就来谈谈调试器的原理,顺便把自己的几类调试器接线和注意事项记录下来,以便查找.我常常要面对几个方案,而各个方案的调试器都不一样,接线有时连自己都记不住.所以这个帖子应值得嵌入式开发工程师收藏. 一.嵌入式调试多样性 我们先来回想调试的场景,思考一下这几个问题: 1. ARM开发环境有Keil.IAR.ADS等等,我们发现这几个平台都能用同一…
程序崩溃时,系统会弹窗让你选择是否进行调试,可以设置系统默认调试器. 注册表位置: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AeDebug Auto = 0 // 系统会弹出一个对话框,让你在几个调试器中选择 = 1 // 系统会自动调用默认调试器 UserDebuggerHotKey=dword:00000000 // 不用动 Debugger // 主要改这个 填入 调试器路径 + -p %ld -e %…
感谢博主 http://book.51cto.com/art/200711/59731.htm <Windows用户态程序高效排错>第二章主要介绍用户态调试相关的知识和工具.本文主要讲了排错的工具:调试器Windbg.   第二章 汇编.异常.内存.同步和调试器——重要的知识点和神兵利器 这一部分主要介绍用户态调试相关的知识和工具.包括:汇编.异常(exception).内存布局.堆(heap).栈(stack).CRT(C Runtime).handle/Criticalsection/th…
掌握Windows内核调试技术是学习与研究Windows内核的基础,调试Windows内核的方式大致分为两种: (1)通过Windbg工具在Windows系统运行之初连接到Windows内核,连接成功之后便可以调试,此时即可以调试Windows内核启动过程,又可以在Windows启动之后调试某内核组件或应用程序.或使用Windbg的Kernel debugging of the local mechine功能,在Windows系统完全启动之后,调试Windows内核组件或应用程序.这种方式需要配…
本快速入门演示如何在 Visual Studio 调试会话中导航,以及如何在会话中查看和更改程序状态. 本 快速入门适用于不熟悉用 Visual Studio 进行调试的开发人员,以及要详细了解在 Visual Studio 调试会话中导航的开发人员.但其中不传授调试本身的技艺.示例代码中的方法仅为演示本主题中所述的调试过程.这些方法并未采用应用程序或函数设计的最佳实 践.实际上,您将快速了解这些方法和应用程序本身,但并不深入研究任何内容. 本快速入门的各节旨在尽可能独立,以使您可跳过其中含有已…
8. 寻路网格体和Gameplay调试器 为了及时识别出AI系统中的导航问题,UE4提供了一个工具用来解决这类问题,它叫Gameplay调试器.打开项目设置,在左侧找到"引擎",然后找到"Gameplay debugger".查看"输入分段",检查激活键有没有绑定.记住绑定的键盘键,然后播放游戏,通过快捷键打开"Gameplay debugger",然后看向AI所在的位置,在屏幕上会出现许多信息并在不断更新.按"sh…
http://my.oschina.net/willSoft/blog/37784调试的方法虽然千千万万,但归根结底,就是找到引发错误的代码.Eclipse调试器的目标是让程序员能对本地或远程程序进行错误侦测与诊断. 调试的方法虽然千千万万,但归根结底,就是找到引发错误的代码.Eclipse调试器的目标是让程序员能对本地或远程程序进行错误侦测与诊断.该调试器提供所有标准调试功能,包括进行单步执行.设置断点和值.检查变量和值以及暂挂和恢复线程的能力.这篇文章主要讲述Eclipse调试器,包括Deb…
基础调试命令 - .dump/.dumpcap/.writemem/!runaway Windbg是windows平台上强大的调试器,它相对于其他常见的IDE集成的调试器有几个重要的优势, Windbg可以做内核态调试 Windbg可以脱离源代码进行调试 Windbg可以用来分析dump文件 Windbg支持丰富的调试扩展 以下是一些windbg安装和使用相关的文档, Installing and Configuring WinDbg (Windows Debug Tools)‏ Windbg…
相关名词就不解释了,这里主要讲讲在vscode里怎么配,这里假设大家相关工具已经装好. 题外话:里面的大多数坑都是windows平台和linux平台的差异造成的,如果在linux平台配置,应该会顺利很多. 1.在.vscode目录下,新建以下几个配置文件,当然也可以通过vscode命令自动生成,如果你已有这些文件直接修改即可. c_cpp_properties.json(代码提示): { "configurations": [ { "name": "Win…