`
水镜的博客
  • 浏览: 1101 次
  • 性别: Icon_minigender_2
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

学会调试代码

 
阅读更多

概况
  代码调试是程序员必须掌握的一门技巧,掌握代码调试对以后学习,错误排除,源码研究等都有很大的帮助。通常代码调试需要一些配套工具,例如java的代码调试,可以使用eclipse、idea、netbean;javascript的代码调试,可以使用chrome、firefox、ie8以上,flex的调试,可以使用flexbuilder(后续版本改名为flashbuilder),C#的代码调试可以使用visual studio。这些工具除了支持我们常用的本地调试外,还能进行远程调试,远程调试对应维护人员来讲是非常实用的功能。每种语言及工具都有他们的优缺点,我们不是要学会每一种语言,也不是要学会每一种调试工具,而是要学会甚至掌握代码调试的技巧。

目标
  本文介绍几类语言的常用调试工具,通过学习,我们能使用常用的调试方式来应对工作中的一些代码问题,及学习一套代码调试的技巧。

目录
  基本代码调试技巧
  使用chrome浏览器调试javascript代码及页面
  使用eclipse调试java代码及学习源码
  使用flex builder调试actionscript代码

基本代码调试技巧
  断点调试常用术语
   “单步进入”step into:就是单步执行,遇到子函数就进入并且继续单步执行;
   “单步执行并跳过”step over:是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。
   “单步执行并返回”step return:就是单步执行到子函数内时,用step return就可以执行完子函数余下部分,并返回到上一层函
数。
   “继续执行”:即跳过此断点继续运行。
  添加删除取消断点
    顾名思义,就是断点的添加删除取消操作,一般来讲,我们可以把断点放在变量声明处或者方法入口,我们称它为变量断点及方法断点。
  断点条件设置
    有时候,我们希望定位的断点在变量满足某种条件时才触发,这样设置断点条件便非常有用了,我们可以通过设置变量的表达式来告诉系统断点触发的条件。
  运行时修改变量值
    当系统运行的中间结果与期望的不一致,此时后面的代码可能不能按期望的逻辑运行,此时可以先把中间结果修改,让测试后面的逻辑是否满足预期结果,这样就可以很快速的定位错误的逻辑代码了。
  异常断点
    经常遇见一些异常,然后程序就退出来了,要找到异常发生的地方就比较难了,还好可以打一个异常断点。
  调用堆栈
    在定位断点时,我们希望查看该断点的调用过程,那么调用堆栈就是实现这一效果的功能。
  远程调试
    远程调试通常运用在生产环境或者团队开发中,例如客户告知运维人员系统存在bug,且错误无法模拟,只能通过现场定位,此时可考虑远程调试,使用本地代码直接调试远程服务器的运行时变量。又例如,由于工作原因,两个开发人员不在同一个工作地点,但是开发人员A需要开发人员B帮忙调试代码解决问题,那么此时可以使用远程调试的方式进行解决,当然你也可以使用远程协助工具直接操作他的电脑。
  代码级的调试
    除了使用开发工具的调试功能,我们还可以使用代码的方式实现一些调试目的。例如很久以前大家很喜欢使用的java代码,sysout,但是这样是不科学的,它会耗费很多系统资源,影响系统性能。对应java,我们可以使用日志输出的方式或者使用java的断言来进行代码调试。对应javascript,我们可以使用浏览器自带的console进行输出。
  调试快捷键
    不同的工具的调试快捷键不尽相同,不过熟练使用能提高开发效率。
-----------------------------------------------------------------------完美分割线------------------------------------------------------------------
使用chrome浏览器调试javascript代码及页面
参考:使用chrome浏览器调试javascript代码及页面
使用eclipse调试java代码及学习源码(//TODO)
参考:使用eclipse调试java代码及学习源码
使用flex builder调试actionscript代码(//TODO)
参考:使用flex builder调试actionscript代码

 

分享到:
评论

相关推荐

    ExcelVBA之如何调试VBA代码

    ExcelVBA之如何调试VBA代码 让你学会调试程序

    串口调试软件源代码 源代码非常详细

    本人学习用的资料 非常详细好用 源代码很详细 认真看 完全可以学会

    Android Studio断点调试详解

    众所周知,断点调试是一个合格程序员必备的一种技能,断点调试可以帮助我们查看程序运行期间每一步各变量的值,学会调试可以帮我们节省很多排查问题的时间,下面我们将来介绍一下Android Studio调试的方法和技巧。...

    VC调试技巧--教你快速学会调试自己的程序,找出漏洞和不足

    毕业快一年,做了2个项目,都是在别人的代码上作开发,苦不堪言:bug 实在是太多。这一年中有大半的时间是在改别人的bug, 也积累了一些经验,和大家分享。我的方法大多数都来自《Windows程序调试》,本文所写都是...

    vs2005调试方法flash视频

    适合新手。 新手入门首先不仅要学会编写代码,还要学会调试。好的软件是调试出来的,调试是定位软件瑕疵的最直接有效地方法,可帮助我们提高代码的编写能力。

    汇编语言学习要点,难点,代码案例,代码解析 学习汇编语言是一项深入了解计算机底层工作原理的重要工作 以下是学习汇编语言的要点、

    汇编语言学习要点,难点,代码案例,代码解析 学习汇编语言是一项深入了解计算机底层工作原理的重要工作。...学会调试技巧:学习汇编语言需要掌握调试技巧,包括使用调试器、单步执行代码、观察寄存器和内存状态等。

    七天学会asp.net mvc5 第五天源代码

    教程网络上有,一搜一天堆,很好的教程,本人据此写的源代码,第四天实验内容实现了用户权限和布局页操作,很适合初学者,原创代码,亲测调试通过,修复了原教程中一些BUG,如本例中登录后添加数据保存后又跳回登录...

    vc源代码合集.rar

    2012-06-11 08:36 279,706 ARM JTAG调试原理完整源代码包.rar 2012-06-11 08:46 1,691,629 Asm汇编编译器(VC++6.0源代码).rar 2012-06-11 08:57 88,576 C++ 开发中内存分配及堆和栈的区别.doc 2012-06-11 08:52 190,...

    七天学会asp.net mvc5 第六天源代码

    教程网络上有,一搜一天堆,很好的教程,本人据此写的源代码,第六天实验内容实现了数据库记录的批量上传操作,异常处理,线程问题等很适合初学者,原创代码,亲测调试通过,便于学习中参考,希望能帮到你。...

    Visual C++ 调试

    Visual C++的调试技巧 学会使用一个新的编译器的很重要的一步是学会如何使用源代码的调试功能。

    Java程序员应该知道的10个调试技巧

    对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序。本文介绍了Java程序员必知的10个调试技巧,保证让你受益匪浅!  调试可以帮助识别和解决应用程序缺陷,在本文中,...

    七天学会asp.net mvc5 第四天源代码

    很好的教程,本人据此写的源代码,第四天实验内容实现了用户认证及登录页面操作,使用了vs2019默认安装的轻量级(localdb)数据库,不需另装sql server,自动建库和表,很适合初学者,原创代码,亲测调试通过,便于...

    调试Javascript代码(浏览器F12及VS中debugger关键字)

    作为我们.NET 阵营,学会如何在IE中调试JS就足够了,在掌握了IE中的调试方法以后,Chrome和Firefox中的调试方法也变得相当简单了。 JavaScript debugger 语句 开启 debugger ,代码在执行到第三行前终止。 var x = ...

    学会在Linux上编译调试C++项目

    本课程主要针对没有或者很少写过linux上C++程序的同学, 本课程会教你如何从0基础开始,安装配置ubuntu虚拟机、使用GCC编译普通程序、动态库、静态库,编写复杂项目配置文件makefile,使用GDB工具调试C++程序。

    编程珠玑(第二版)源代码

    作者虽然没有给出解决这些问题的具体代码,但始终非常富有洞察力和创造力地围绕着这些折磨程序员的实际问题展开讨论,从而引导读者理解问题并学会解决问题的技能,这些都是程序员实际编程生涯中的基本技能。...

    教你用代码美化Qzone(HTML语言)

    为了帮助那些现在不会用代码美化QQ空间首页的朋友们都学会弄空间,所有代码我已经自己经过了调试,全部可以在空间里使用。使用方法也在里面,就算你不会HTML语言,照着输进去,也可实现

    C++(Qt)软件崩溃调试-学会使用ProcDump.7z

    2. 而ProcDump 使用非常简单,不需要配置环境,不需要修改代码,将程序下载到本地后,通过命令行设置监听条件、需要监听的程序,然后就可以在条件满足或者目标程序崩溃时快速生成进程转储文件。 3. 在Windows中还...

    七天学会asp.net mvc5 第三天源代码

    教程网络上有,一搜一天堆,很好的教程,本人据此写的源代码,第三天实验内容实现了数据库的连接和简单操作,使用了vs2019默认安装的轻量级(localdb)数据库,不需另装sql server,自动建库和表,很适合初学者,原创...

    C++(Qt)软件崩溃调试-学会使用ProcDump (5)20230402.pdf

    2. 而ProcDump 使用非常简单,不需要配置环境,不需要修改代码,将程序下载到本地后,通过命令行设置监听条件、需要监听的程序,然后就可以在条件满足或者目标程序崩溃时快速生成进程转储文件。 3. 在Windows中还...

    C++(Qt)软件崩溃调试-学会使用ProcDump(5)20230403.pdf

    2. 而ProcDump 使用非常简单,不需要配置环境,不需要修改代码,将程序下载到本地后,通过命令行设置监听条件、需要监听的程序,然后就可以在条件满足或者目标程序崩溃时快速生成进程转储文件。 3. 在Windows中还...

Global site tag (gtag.js) - Google Analytics