如何格软件

有位同行在微信里很客气的向我询问学习软件的方法。“张老师能和您请教一下CS的自己学习方法和学习路径吗”

而且附加了一个条件,要可操作性比较强。

“个人需要可操作性比较强的方法”

是啊,对于已经工作了的同行,每天上班就够忙碌的了,如果遇上996的单位,那么属于自己的时间就更少了。对于已经结婚和有小孩的同行,业余时间还要照顾家庭,那么留给自己的学习时间就更少,而且是碎片化的。

在这种情况下,如何兼顾工作和家庭,而又能给自己学习充电呢?

我推荐的方法是调试

640?wx_fmt=png

大家都知道调试技术的基本用途是解BUG。但其实,他也是学习(软件)的一种好方法。

从我的个人经历讲,我的大多数软件知识都是使用调试方法学来的。回想起来,大学读书时,花在书本上的时间最多,但很多东西都停留在表面。工作之后,花大块时间来读书的机会不多。在写《软件调试》那几年里,几乎每天都在用调试器,不论白天还是晚上。《软件调试》出版后,略微放松了一下,但是“上调试器”仍是我最爱的方法,不论是工作还是学习。这句话也成了我的口头禅。

与读书相比,调试方法有几个明显的优势。首先是不空洞,总是面对具体的问题,具体的目标,具体的模块,具体的代码。朱熹说过,“言理则无可捉摸,物有时而离。言物则理自在,自是离不得。”套用一下,单纯读书或者读代码,有时会缺少抓手,陷入迷茫,调试时,则容易找到抓手,深入进去,而且道理也自然在里面。

第二是效率高。上了调试器之后,可以穿透层层迷雾,直接抵达问题的关键之处,因此可以大大节约时间。

第三是有乐趣,探索的乐趣,发现的乐趣,学习到知识和解决问题后还有收获的乐趣。

以上三点,对于使用碎片时间来学习的同行尤其重要。

如果你认可了调试的方法,下一步便是选择调试器了。著名的调试器有很多,我推荐两个:WinDBG和GDB。前者主要用于Windows平台,后者用于LINUX、FreeBSD和MacOS等平台上。

两大调试器在使用细节上有很多不同。但是从功能或者“道的层面”来看,它们又是非常相似的,可谓“理一分殊”。

640?wx_fmt=png

虽然都有图形界面接口,但是两大调试器的主要接口都是“命令行”。要学习两大调试器的所有命令非一朝一夕之功,好在只要掌握常用的命令便可以解决一些问题了。下图是笔者总结的常用命令。

640?wx_fmt=png

网上流传着《软件调试》第30章的电子版本,很详细的介绍了WinDBG的用法。去年,我也曾公开过关于GDB的讲义(http://001001.org/gedu/06_LINUX_Raymond_GDB.pdf),长度有150多页,有了这些,喜欢自学的就可以上手了。如果你希望以更快的速度入门和提高,那么也可以考虑调试研习班,五月份的“案例实战”专场正在招生之中(http://001001.org/gedu/dbgwar.pdf)。

“学不可以已”,希望调试技术可以成为大家学习的好帮手,快乐学习,不断进步。把《软件调试》第2版卷1的一句评语送给大家吧。

“古有读书之乐,穿越时光,悟古人心境;今有调试之乐,电波传语,与硅片对谈。”

640?wx_fmt=jpeg

***********************************************************

正心诚意,格物致知,以人文情怀审视软件,以软件技术改变人生

欢迎访问http://001001.org/gedu/了解软件调试高级研习班的最新信息

或者关注格友公众号

640?wx_fmt=jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值