代码调试

代码调试是程序员必须掌握的一门技巧,掌握代码调试对以后学习,错误排除,源码研究等都有很大的帮助。

通常代码调试需要一些配套工具,例如java的代码调试,可以使用eclipse、idea、netbean;javascript的代码调试,可以使用chrome、firefox、ie8以上,flex的调试,可以使用flexbuilder(后续版本改名为flashbuilder),C#的代码调试可以使用visual studio。这些工具除了支持我们常用的本地调试外,还能进行远程调试,远程调试对应维护人员来讲是非常实用的功能。

每种语言及工具都有他们的优缺点,我们不是要学会每一种语言,也不是要学会每一种调试工具,而是要学会,掌握代码调试的思想和技巧。


基本代码调试技巧

断点调试常用术语

“单步进入”step into:就是单步执行,遇到子函数就进入并且继续单步执行;

“单步执行并跳过”step over:是在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完再停止,也就是把子函数整个作为一步。

“单步执行并返回”step return:就是单步执行到子函数内时,用step return就可以执行完子函数余下部分,并返回到上一层函
数。

“继续执行”:即跳过此断点继续运行。

添加删除取消断点

顾名思义,就是断点的添加删除取消操作,一般来讲,我们可以把断点放在变量声明处或者方法入口,我们称它为变量断点及方法断点。

断点条件设置

有时候,我们希望定位的断点在变量满足某种条件时才触发,这样设置断点条件便非常有用了,我们可以通过设置变量的表达式来告诉系统断点触发的条件。

运行时修改变量值

当系统运行的中间结果与期望的不一致,此时后面的代码可能不能按期望的逻辑运行,此时可以先把中间结果修改,让测试后面的逻辑是否满足预期结果,这样就可以很快速的定位错误的逻辑代码了。

异常断点

经常遇见一些异常,然后程序就退出来了,要找到异常发生的地方就比较难了,还好可以打一个异常断点。

调用堆栈

在定位断点时,我们希望查看该断点的调用过程,那么调用堆栈就是实现这一效果的功能。

远程调试

远程调试通常运用在生产环境或者团队开发中,例如客户告知运维人员系统存在bug,且错误无法模拟,只能通过现场定位,此时可考虑远程调试,使用本地代码直接调试远程服务器的运行时变量。又例如,由于工作原因,两个开发人员不在同一个工作地点,但是开发人员A需要开发人员B帮忙调试代码解决问题,那么此时可以使用远程调试的方式进行解决,当然你也可以使用远程协助工具直接操作他的电脑。

代码级的调试

除了使用开发工具的调试功能,我们还可以使用代码的方式实现一些调试目的。例如很久以前大家很喜欢使用的java代码,sysout,但是这样是不科学的,它会耗费很多系统资源,影响系统性能。对应java,我们可以使用日志输出的方式或者使用java的断言来进行代码调试。对应javascript,我们可以使用浏览器自带的console进行输出。

调试快捷键

不同的工具的调试快捷键不尽相同,不过熟练使用能提高开发效率。


Python代码调试

后续再做整理

友情链接:

pycharm调试debug入门

Python 代码调试技巧

Python 基础——一张图告诉你PyCharm如何进行断点调试

Python 程序如何高效地调试?

Pycharm使用debug对Python断点测试心得


无意间看到一篇文章,简单谈及好的程序与应当具备的素养,感觉非常中肯,这里分享出来给大家,以作共勉。

职业的程序员与业余程序员

  1. 职业的程序员设计的时间长于编码的时间,业余程序员编码的时间长于设计的时间;
  2. 职业的程序员是设计程序,业余程序员是调试程序;
  3. 职业的程序员是预防BUG,业余程序员是修改BUG;
  4. 职业的程序员无论何时都能读懂自己的代码,业务程序员总是读不懂自己的10天前的代码;
  5. 职业的程序员总能读懂别人的代码,业余程序总是读不懂别人的代码;
  6. 职业的程序员习惯了读别人的代码,业余程序员总是不屑读别人的代码;
  7. 职业的程序员喜欢接受别人的批评意见,业务程序员总是认为自己的代码是最好的;
  8. 职业的程序员总是化繁为简,业余程序员总是乱上添乱;
  9. 职业的程序员说到做到,业余程序员说到做不到;
  10. 职业的程序员自己的机器很少出毛病,业余程序员经常重装自己的系统;
  11. 职业的程序员经常备份自己的程序,业余程序员经常找不到自己的历史版本;
  12. 职业的程序员经常总结自己的经验教训,业余程序员总是重复自己的错误。
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值