- Effective Debugging:軟件和系統(tǒng)調(diào)試的66個(gè)有效方法
- (希)迪歐米迪斯·斯賓奈里斯
- 775字
- 2019-09-02 17:53:01
對(duì)書中術(shù)語的說明
本書所說的fault(錯(cuò)誤)一詞,遵循ISO-24765—2010(Systems and software engi-neering——Vocabulary)標(biāo)準(zhǔn),它的意思是:“計(jì)算機(jī)程序里面某個(gè)不正確的步驟、流程或數(shù)據(jù)定義。”這也稱為defect(缺陷)。在日常工作中,我們把這叫做bug。與之類似,本書所用的failure(故障)一詞,也遵循ISO-24765—2010標(biāo)準(zhǔn),它指的是:“因系統(tǒng)或系統(tǒng)組件未能在規(guī)定限制之下執(zhí)行所需功能而引發(fā)的事件。”故障可以表現(xiàn)為程序崩潰、程序凍結(jié)或是程序的結(jié)果有誤。故障一詞強(qiáng)調(diào)的是程序運(yùn)行的后果,而錯(cuò)誤一詞強(qiáng)調(diào)的則是我們所遇到或使用的某個(gè)程序本身有問題。不過有的時(shí)候,大家也會(huì)用錯(cuò)誤及缺陷這兩個(gè)詞來指代故障,ISO標(biāo)準(zhǔn)也承認(rèn)了這一點(diǎn)。筆者在本書中會(huì)按照上述定義來區(qū)分這幾個(gè)詞,然而在語境比較明確的情況下,我通常也會(huì)用問題(problem)一詞來指代錯(cuò)誤(如“代碼有問題”)或故障(如“可以重現(xiàn)的問題”),這樣寫能夠使本書讀起來更加流暢,而不至于變成一份法律文件。
Unix操作系統(tǒng)的shell、程序庫以及工具,目前都可以運(yùn)行在各種各樣的平臺(tái)上。筆者采用Unix一詞來指代遵從Unix原則及API的任何一種系統(tǒng),包括Apple的Mac OS X、各種GNU/Linux發(fā)行版(如Arch Linux、CentOS、Debian、Fedora、openSUSE、Red Hat Enterprise Linux、Slackware及Ubuntu)、直接從Unix繼承而來的系統(tǒng)(如AIX、HP-UX及Solaris)、各種BSD衍生系統(tǒng)(如FreeBSD、OpenBSD及NetBSD),以及運(yùn)行在Windows系統(tǒng)上的Cygwin。
本書中所列出的C++、Java或Python代碼,針對(duì)的也是較新的編程語言版本,不過筆者會(huì)避開那些奇怪的或是剛剛推出的特性。
書里面會(huì)出現(xiàn)“你的代碼”和“你的軟件”這兩種說法,它們指的是你正在調(diào)試的代碼以及正在開發(fā)的軟件。這兩種說法聽起來比較簡潔,而且也暗含了一種對(duì)代碼所有權(quán)的宣示,這對(duì)于軟件開發(fā)人員來說是十分重要的。
筆者所說的例程(routine)一詞,是指可供調(diào)用的代碼單元,如成員函數(shù)、方法、函數(shù)、過程以及子例程等。
Visual Studio及Windows指的是Microsoft公司的相關(guān)產(chǎn)品。
修訂控制系統(tǒng)(revision control system)及版本控制系統(tǒng)(version control system),是指像Git這樣能夠?qū)浖渲眠M(jìn)行管理的工具。
- Spring 5企業(yè)級(jí)開發(fā)實(shí)戰(zhàn)
- SQL Server 2016從入門到精通(視頻教學(xué)超值版)
- Developing Middleware in Java EE 8
- HTML5 Mobile Development Cookbook
- 征服RIA
- Jenkins Continuous Integration Cookbook(Second Edition)
- 深度學(xué)習(xí):Java語言實(shí)現(xiàn)
- App Inventor創(chuàng)意趣味編程進(jìn)階
- Hands-On GUI Programming with C++ and Qt5
- Hands-On Kubernetes on Windows
- Qt5 C++ GUI Programming Cookbook
- C語言程序設(shè)計(jì)實(shí)訓(xùn)教程與水平考試指導(dǎo)
- App Inventor少兒趣味編程動(dòng)手做
- Java程序設(shè)計(jì)基礎(chǔ)(第6版)
- Penetration Testing with the Bash shell