摘要:这就个规则来自于书籍《调试九法:软硬件错误的排查之道》,记录下来: 规则1:理解系统 你必须掌握系统的工作原理以及它是如何设计的,在某些情况下还要知道为什么这样设计。如果你没有理解系统中的某个部分,那么这通常是出问题的地方。(这不仅仅是墨菲定律的问题,如果你不能理解你所设计的系统,你的工作可能会变得
阅读全文
摘要:转自:https://blog.csdn.net/sinat_35360663/article/details/80176269
阅读全文
摘要:调试的关键在于推断程序内部的错误位置及原因,可以采用以下方法: 1、分析和推理 设计人员和开发人员根据软件缺陷问题的信息, 分析和推理调试软件。 (1)根据软件程序架构自顶向下缩小定位范围, 确定可能发生问题的软件组件。 (2)根据软件功能,软件运行时序定位软件问题。 (3)根据算法原理,分析和确定
阅读全文
摘要:软件调试和版本管理的关系非常密切: 在软件调试过程中可能有多种算法都可达到 预期的目标,但只能选择其中一种,这时需要保留各种 有价值的算法版本;软件调试完成后,需要进行代码优 化,在代码优化的过程中需要保留各种不同的版本;软 件调试完成后,需要增加功能和提升性能,在此基础上 开展下一步调试工作,需要
阅读全文
摘要:在我们对某个问题进行调试前一定要做足准备工作,不然后面的调试工作会面临极大的困难,甚至都无法开展调试工作。 必须要做的准备工作 不管我们是在开发期调试,还是在发布后调试,都要做好如下准备工作: 充足的心里准备这个太重要了,在实际工作中,我见到太多被问题吓怕的人。在还没整清楚问题是什么时就已经打了退堂
阅读全文
摘要:在日常工作中,我们还是有些原则要坚守,也有些策略可用: 1、调试的本质:确认原则 修正充满错误的程序,就是逐个确认,你自认为正确的许多事情所对应的代码确实是正确的。当你发现其中某个假设不成立时,就表示已经找到了关于程序错误的位置的线索了,可能并不时准确的位置。 换一种表达方式来说:惊讶是好事。当你认
阅读全文
摘要:根据软件代码规模,应用软件的开发大致分为三 种模式。 程序员个人开发的小软件 用例图 这种模式和早期的软件开发模式类似。 小软件开发用例图如图所示。 软件调试的特点 发现问题(测试)、定位问题和提出解决问题方 案、修改程序代码、验证全部由程序员负责。 软件调试 可以分为静态调试与动态调试。 1、静态
阅读全文
摘要:软件调试的概念 软件调试是泛指重现软件缺陷问题,定位和 查找问题根源,最终解决问题的过程。 软件调试通常有如下两种不同的定义: 定义1:软件调试是为了发现并排除软件程序中 的错误,可以通过某种方法控制被调试程序的执行过 程,以便随时查看和修改被调试程序执行状态的方法。 在该定义中,软件测试属于软件调
阅读全文
摘要:在 WinDbg 中,源窗口显示已加载到调试器中的源文件。 如何打开源代码窗口 通过菜单File >Open Source File打开源代码文件,窗口随之打开 通过快捷键Ctrl+O 通过工具栏 设置源路径,调试器实时自动打开 使用源代码窗口 通过上面方式打开的窗口如下: 每个源窗口都显示一个源文
阅读全文
摘要:窗口切换 可以使用以下键盘快捷方式窗口之间进行切换。 项效果 CTRL+TAB 调试信息窗口之间切换。 通过重复使用此密钥,你可以扫描通过的所有窗口,而不考虑是否浮动、 停靠本身,或选项卡式停靠窗口的集合的一部分。 Alt+Tab 目前,在您的桌面上的窗口之间切换。 此外可以使用此键盘快捷方式的 W
阅读全文
摘要:命令浏览器窗口显示并存储调试器命令的文本结果。此窗口创建命令引用,使您可以查看特定命令的结果,而无需重新输入该命令。命令浏览器窗口还提供了对存储的命令的导航,因此您可以比使用调试器命令窗口更快地访问命令。 命令浏览器的打开 通过菜单Veiw >Command Browser 通过快捷键Ctrl+N
阅读全文
摘要:“便笺簿”窗口是一个剪贴板,您可以在其中键入和保存文本。 打开便笺簿 通过菜单View >Scratch Pad 通过快捷键Alt+8 通过工具栏 使用便笺簿 用上面的方式打开的窗口如下: 在草稿板窗口中,可以执行以下操作: 若要在草稿板窗口中键入,单击窗口,然后开始键入的你想要添加的文本。 此外可
阅读全文
摘要:在 WinDbg 中,可以查看和编辑内存,通过输入命令或通过使用内存窗口。 内存窗口的打开 通过菜单View-->Memory 通过快捷键Alt+5 通过工具栏 使用内存窗口 通过上面方式打开的窗口如下: 内存窗口显示多个列中的数据。 在窗口的左侧列显示每个行的开始地址。 其余列显示所需的信息,从左
阅读全文
摘要:在 WinDbg 中,进程和线程窗口中显示有关系统、 进程和线程正在调试的信息。 此窗口还可选择新的系统、 进程和线程处于活动状态。 如何打开进程和线程窗口 通过菜单View >Processes and Threads 快捷键Alt+9 通过工具栏 使用进程和线程窗口 通过上面的方式打开的窗口如下
阅读全文
摘要:寄存器是位于在 CPU 的小易失性内存单位。 许多寄存器专用于特定用途,并可用于用户模式应用程序使用的其他寄存器。 基于 x86 和基于 x64 的处理器在有可用的寄存器的不同集合。 如何打开寄存器窗口 通过菜单View >Registers 通过快捷键Alt+4 通过工具栏 寄存器窗口 通过上面方
阅读全文
摘要:在WinDbg中,可以通过输入命令、使用“局部变量”窗口或使用“监视”窗口查看局部变量。局部变量窗口显示当前作用域中的本地变量的所有信息。 如何打开Locals窗口 通过菜单View >Locals 通过快捷键Al+3 通过工具栏 局部变量窗口 通过上面的方式打开的窗口如下: 局部变量窗口可以包含四
阅读全文
摘要:在WinDbg中,可以使用“监视”窗口显示和更改全局和局部变量和寄存器信息。 您可以自定义此窗口以显示您正在跟踪的项。。“监视”窗口可以显示所需的任何变量列表。这些变量可以包括来自任何函数的全局变量和局部变量。任何时候,“监视”窗口都会显示与当前函数范围匹配的变量值。也可以通过“监视”窗口更改这些变
阅读全文
摘要:在WinDbg中,可以通过输入命令(u, ub, uu (Unassemble))或使用反汇编窗口查看程序汇编代码。 如何打开 DissAssembly Code窗口 通过菜单View-->Disassembly 快捷键Alt+7 工具栏按钮 DissAssembly窗口 通过上面的方式打开的窗口如
阅读全文
摘要:调用堆栈是指向程序计数器当前位置的函数调用链。调用堆栈的顶部函数是当前函数,下一个函数是调用当前函数的函数,依此类推。显示的调用堆栈基于当前程序计数器,除非更改寄存器上下文。 在 WinDbg 中,可以通过输入命令或通过使用Call Stack窗口中查看调用堆栈。 Call Stack窗口的打开方式
阅读全文