• 大小: 73.76MB
    文件类型: .pdf
    金币: 2
    下载: 0 次
    发布日期: 2023-12-31
  • 语言: 其他
  • 标签: 汇编  软件  调试  

资源简介

本书以案例形式讨论了使用调试技术解决复杂软件问题的工具和方法。全书共36章,分为四篇。前两篇每章讲述一个有代表性的真实案例。第三篇讨论了调试工具和调试系统的设计方法。第四篇收录了使用调试器探索计算机世界的若干学习笔记,包括在调试器中细品CPU,通过调试器观察和解码堆块结构,透视Windows 8的新类型应用以及使用调试器监视启动、睡眠和唤醒三大基本过程等。 前言 在过去十几年中,一种新型的材料风靡全球。它天性柔软,可以任意塑造,用途广泛,几乎无所不能。在这种材料的驱动下,优胜劣汰的规则悄然变化。善于利用这种新材料的一夜成名,抵制或者犹豫徘徊的迅速没落。这种材料就是软件。有人说,软件在吞噬这个世界。但与其这样说,还不如说人类正在用软件重构自己的文明。 众所周知,人类对软件的依赖越来越大。但天性“软弱”的软件是否能承受如此之重呢?根据我这么多年从事软件工作的经验,这里确实需要画上一个大大的问号。 总体说来,软件的现状很糟糕。借用一句美国同行的话,“没有别的话好说,今天的软件很差劲”。更糟糕的是,很多人没有意识到这一点。 软件领域存在很多问题。略去臃肿缓慢、大量消耗资源、不够安全、稳定性差等外在问题不谈,最致命问题的是在软件行业内部,对软件的误解和错误的价值观大行其道。软件的根本在于代码,但我们却常常背离这个根本,轻视编码工作,空喊如何提高软件质量。 与看得见摸得着的硬件相比,软件生来就抽象难懂。很长一段时间里,只有少数的聪明人会编写软件。随着编程语言和开发工具的进步,编写软件看似变得简单了,但其实这只是一种误解。这种误解导致很多人低估了软件开发的真实难度。于是,错误的认识再加上软件行业的急速发展共同促成了一个可怕的现状:神圣的程序员职业被拉下神坛,沦为软件蓝领,最近几年更被打上了“码农”这样的低价标签。 一方面是人们对软件的要求越来越高,软件的复杂度在提高,另一方面是轻视编码,程序员的素质在降低。于是便形成了今天软件行业中的一个普遍存在的根本问题:软件的复杂度超出了软件开发者可以驾驭的程度,软件质量在最重要的开发源头危机四伏。 程序员是真正为软件大厦“添砖加瓦”的人,程序员的水平高低直接关系着软件的质量优劣。高水平程序员对整个计算机系统融会贯通,写代码时有成竹在胸。他们写出的代码框架挺拔,细节缜密,而且短小精悍,不枉费“一滴笔墨”。这样的代码给人看时有条有理,如读美文,提交给计算机执行时,轻快顺畅,一蹴而就。而水平差的程序员则相反,很多概念交织脑海中,不清不楚,只知其一,不知其二。写代码时畏首畏尾,东拼西凑。写出的代码杂乱无章,驴唇不对马嘴,冗长拖沓,又臭又长。这样的代码给人看时摸不着头脑,如坠云里雾中,提交给计算机执行时,磕磕碰碰,到处卡壳。一般说来,程序员的水平越低,写出来的冗余代码越多,这是今天软件普遍患有“肥胖症”的一个根本内因。而软件的复杂度和软件的大小密切相关,软件越庞大,软件的复杂度便越高。软件的复杂度越高,会让程序员越发畏首畏尾,惧怕改动现有代码,加入更多的冗余代码,继续增加复杂度,陷入可怕的恶性循环。 代码是软件的根本。写代码是值得修炼一生的一门技艺。提高对代码的感知力和驾驭力是所有软件工作者都必须要修炼的基本功夫。如何修炼呢?学编程语言,学操作系统,学硬件原理,学面向对象,学虚拟机,学云计算,学软件工程……把所有东西通通学一遍?即使都一一学过了,我觉得也还不够,还缺少最重要的融会贯通。 写作目标和书名由来 关于融会贯通,宋儒理学之集大成者朱熹早有精彩的论述。据说,融会贯通这个成语就是他发明的。宋代人黎靖德编辑的《朱子语类》收集了大量朱熹与他的学生问答的语录。在卷九《论知行》中记载了这样一段精彩的对话。朱熹教导学生说:“学者喫紧是要理会这一个心,那纸上说底,全然靠不得。”意思是不能只停留在书本上,要用心去理会。但学生们听了后,却有人没有顺着这个思路去理解,天马行空般说出一套空话来:“心之体与天地同其大,而其用与天地流通。”于是朱熹就顺着这个反面典型继续说道:“又不可一向去无形迹处寻,更宜于日用事物、经书指意,史传得失上做工夫。即精粗表里,融会贯通,而无一理之不尽矣。”教导大家不要一味去追求空理论,与其那样,还不如在平常事物上下功夫。 好一个“精粗表里,融会贯通”。反复读这句话,我欣然有所悟,真正从国学中汲取到营养。虽然这句话本来不是关于软件的,但这个道理完全可以用在软件上。在我看来,很多做软件的同行都学了不少的书本知识,但却缺少用心理会,尤其缺少针对实际问题的钻研探索和刨根问底。也就是缺少宋儒们所说的穷理精神。关于“穷理”和“贯通”,《朱子语类》中还有一段很精彩的论述: 穷理者,因其所已知而及其所未知,因其所已达而及其所未达。人之良知,本所固有。然不能穷理者,只是足于已知已达,而不能穷其未知未达,故见得一截,

资源截图

代码片段和文件信息

评论

共有 条评论