2、调试思路
2.1指针访问违例等异常类问题
(1)要处理此类问题,请首先熟悉windbg调试器的的用法.
(2)要分析异常问题,找到异常代码,首先要有异常情况下的core dump文件,操作系统处理过程中,有硬件中断,到操作系统的SHE处理,最终到分发给调试器,分析core dump,找到异常线程栈,找到线程栈后,开始从windows的SHE相关接口往上看,找到出错的自己模块和代码.
相关可以分享的调试命令:
~*kn 100 //切换到指点线程.
!analyze –v/ -hang/-crash //调试器直接进行异常分析,找出线程,并展示异常码和异常堆栈
.frame x //在有源代码的情况下,直接查看接口的栈变量,参数和返回值等信息
Kn kb kd.dump .logopen dc //更多的命令请大家学习windbg的帮助文档.
2.2线程死锁等挂死类问题
(1)通过!analyze –hang找出互锁的线程组,切换到其中的一个线程中.
(2)通过windbg的元命令!CS等找到windows核心对象的句柄,找到拥有核心对象的线程. 参考命令
(3)~*kn 切换到拥有锁的线程, 通过kn100 开始分析线程堆栈,找到导致死锁的代码流程.并进行修改.
请参照windbg 用户手册进行操作.
分享到:
相关推荐
总结来说,"Android-EnDebugBubble"是一个实用的Android调试工具,通过悬浮窗形式整合多种调试功能,提升了开发效率。它不仅提供了便利的调试环境,还为开发者提供了一种优化调试流程的思路,是Android开发者的得力...
串口调试工具是一种用于通信协议调试的软件,它在IT行业中尤其在嵌入式系统、物联网设备以及工业自动化等领域有着广泛的应用。ASP.NET是微软公司推出的一种基于.NET Framework的Web应用程序开发框架,主要用来构建...
通过学习和分析这份源码,开发者可以深入理解串口通信的工作原理,掌握如何在Delphi中实现串口调试工具,同时也可以借鉴触发器功能的设计思路,用于自己的项目开发。对于那些需要处理串行通信问题的程序员来说,这份...
结合以上信息,我们可以推断,这个压缩包可能是一个包含了C#通信调试工具源码的文档,其中可能有对该工具的功能、设计思路和使用方法的详细说明。通过阅读源码和文档,开发者不仅可以了解通信调试的基本原理,还能...
此外,对于没有精力再进行二次开发的作者来说,这个工具也可以作为一个参考模板,为其他开发者提供思路。通过阅读源码,开发者可以学习到如何使用Delphi与三菱PLC进行通讯,如何构建通讯框架,以及如何处理通讯异常...
通过对这个自制USB转串口调试工具的原理图进行详细解析,我们可以看到,其设计思路清晰且功能全面。利用CP2102和SP3232E这两款高性能芯片,实现了USB与串口之间的数据转换,满足了嵌入式开发中对于灵活多变接口的...
文章介绍了设计思路,首先,调试工具基于Arm平台,利用T-kernel的实时监听任务和Arm异常系统模式相结合,实现了一个小型远程调试工具。该工具遵循RSP(Remote Serial Protocol)协议,允许宿主机(通常是运行Linux的...
这个"自己做的C#串口调试工具"是个人开发者通过自我探索创建的,其主要目标是帮助程序员进行串口通信的测试和调试。 串口通信,也称为串行通信,是指数据以串行的方式一位一位地传输。在C#中,我们通常会使用System...
2) 结合实际问题来阐述正确的调试思路以及各种调试工具的使用。本书采用的叙述方式是,首先给出某个实际的问题,例如内存破坏、同步问题、资源泄漏、安全威胁等;然后介绍分析这个问题的正确调试思路,例如如何通过...
##### 2-2 TAP(Test Access Port) TAP是用于访问芯片内所有数据寄存器(Data Register, DR)和指令寄存器(Instruction Register, IR)的一个通用端口。TAP控制器负责管理整个TAP的操作,它包括以下五个信号接口...
串口调试工具是电子工程师、软件开发者以及对嵌入式系统进行通信测试的人员不可或缺的辅助工具。在本文中,我们将深入探讨串口通信的基本概念,C#编程语言如何实现串口调试,以及如何利用这款名为"common-1.20"的...
IEC104 Analyzer是一款专门针对IEC104协议进行调试和分析的软件工具。其主要功能包括捕获、解析、显示和记录网络中的IEC104报文,帮助工程师理解和诊断协议通信问题。通过这个工具,用户可以深入理解协议的运作机制...
Android Socket调试助手教程及源码 调试助手。 Android Socket调试助手教程及源码。 代码很不错 思路好清晰, 经过自己修改后能用在自己的程序上了 AndroidSocket调试助手
keil μVision是广泛使用的单片机开发工具,其强大的代码编辑器和调试器使得软件开发更为便捷。这一部分会教你如何设置工程属性,配置目标芯片,以及如何生成可执行文件。 第二部分,基础调试:主要讲解如何使用...
10. **文档编写**:详细记录设计思路、实现过程、遇到的问题及解决方法,便于他人理解和复用。 综上所述,这个项目涵盖了单片机开发的多个核心环节,对于学习单片机编程和系统设计的初学者来说,是极其宝贵的学习...
高分项目,基于STM32的联合调试侦听设备解决方案,内含原理图、PCB源文件、调试工具、教程视频 现在的嵌入式软件的开发,往往需要多人联合开发,或者公司之间联合开发,开发的过程中需要涉及到开发人员的联合调试,...
4. **使用调试工具**:利用各种调试工具如IDE的调试器、逻辑分析仪、内存检测工具等,可以帮助我们观察程序执行的细节,跟踪变量状态,甚至查看硬件状态。熟练掌握这些工具能显著提高调试效率。 5. **记录和分析**...
对于学习前端开发的人来说,了解这种历史背景和工具的演变,有助于理解Web开发工具的发展历程,同时也可以借鉴其中的设计思路,应用于其他环境或平台的调试工具开发。这个高仿Firebug工具的源代码也是一个很好的学习...