每個程式設計師都應該具備的除錯能力。
首先,除錯是⼀個程式設計師最基本的技能,其重要性甚⾄超過學習⼀門語⾔。不會除錯的程式設計師就意味著他即使會⼀門語⾔,卻不能編制出任何好的軟體。
VC/VS除錯快捷鍵:
F9 //設定斷點和取消斷點
F10 //開始除錯//單步執⾏
F11 //進⼊函式內部
F5 //跳到斷點處
F7 //編譯
Ctrl + F10 //跳到游標處
常見呼叫視窗:
檢視記憶體,區域性變數,監視,呼叫堆疊,執行緒,暫存器,自動視窗。
調⽤堆疊反映了當前斷點處函式是被那些函式按照什麼順序調⽤的。
定位錯誤的⽅法:
1.如果是編譯連結錯誤,可以直接檢視錯誤或者警告資訊。(包括⾏號和描述資訊)
2.注意:如果是運⾏時錯誤,只能斷點,進⼊程式逐步查詢。g
3.如果⼯程源⽂件⽐較⼤,可以嘗試部分遮蔽的⽅式逐步定位。
其他除錯⽅法:
1.assert
2.新增輸出語句新增除錯資訊
便於除錯的程式碼風格
1.不⽤全域性變數
2.所有變數都要初始化(成員變數在建構函式中初始化)
3.儘量使⽤const
4.詳盡的註釋
相關推薦
每個程式設計師都應該具備的除錯能力。
首先,除錯是⼀個程式設計師最基本的技能,其重要性甚⾄超過學習⼀門語⾔。不會除錯的程式設計師就意味著他即使會⼀門語⾔,卻不能編制出任何好的軟體。 VC/VS除錯快捷鍵: F9 //設定斷點和取消斷點 F10 //開始除錯//單步執⾏ F11 //進⼊
[轉]國外程式設計師推薦:每個程式設計師都應該讀的非程式設計書
五年前有網友在 Stackoverflow 發帖提問:『程式設計師應該讀哪些非程式設計方面的書?』。有很多程式設計師響應,他們在推薦的同時也寫下了自己的評語。本文摘編其中 29 本書,下面就按照各書的推薦數排列。另外,本月初我們在伯樂頭條也發起了相同的討論帖《你最喜歡的非程式設計書是哪一本?》,已有很多的朋友
程式猿養生方法(每個程式設計師都應該看一看)
前言 程式設計師職業生涯中,健康問題尤為突出。隨著時間的流逝,夢想可能漸漸暗淡,激情可能慢慢消退,但是,有一點卻很肯定,我們的身體大不如前,視力下降,慢性腸胃炎,頸椎病,失眠,神經衰弱,此類慢性疾病接踵而來。 身體是自己的,也是一輩子的事情,人的自我恢復能力並不是很強;所以我向來不建議為了事業,而犧牲身體。
國外程式設計師推薦:每個程式設計師都應該讀的非程式設計書
【伯樂線上導讀】:五年前有網友在 Stackoverflow 發帖提問:『程式設計師應該讀哪些非程式設計方面的書?』。有很多程式設計師響應,他們在推薦的同時也寫下了自己的評語。本文摘編其中 29 本書,下面就按照各書的推薦數排列。另外,本月初我們在伯樂頭條也發起了相
每個程式設計師都應該知道的 15 個最佳 PHP 庫
1. PChart PChart是一個令人印象深刻的PHP庫,可以以一種視覺化圖表的形式生成文字資料。資料可以展示為柱狀圖,餅狀圖,以及其他格式。使用SQL查詢可以幫助PHP指令碼建立令人驚歎的圖表和圖形。 2. PHP CAPTCHA PHP CAPTCHA是另一個偉
每個程式設計師都應該學習使用Python或Ruby(選Python)
每個程式設計師都應該學習使用Python或Ruby 如果你是個學生,你應該會C,C++和Java。還會一些VB,或C#/.NET。多少你還可能開發過一些Web網頁,你知道一些HTML,CSS和JavaScript知識。總體上說,我們很難發現會有學生顯露出掌握超出這幾種語言範
每個程式設計師都應該瞭解的記憶體知識(二)
http://web.itivy.com/article-347-1.html 接下來的章節會涉及更多的有關訪問DRAM儲存器的實際操作的細節。我們不會提到更多有關訪問SRAM的具體內容,它通常是直接定址。這裡是由於速度和有限的SRAM儲存器的尺寸。SRAM現在應用在
十大程式語言之父——每個程式設計師都應該記住!
Dennis Ritchie(丹尼斯•裡奇)被世人尊稱為“無形之王的C語言之父”、“偉大的UNIX之父”,開創了計算機網路技術的先河,為喬布斯等IT巨匠提供肩膀的巨人。1978年與布萊恩•科爾尼幹(BrianW Kernighan)一起出版了名著《C程式設計語言》,被翻譯為多種語言,是C語
為什麼每個程式設計師都應該學習使用命令列
大學畢業以後我就成了一名JAVA程式設計師,在之後的很長一段時間裡,我每天上班的流程基本都是一樣的: 早上來到公司 -> 開啟電腦(啟動Windows) -> 開啟Eclipse(我是一名JAVA程式設計師) -> 寫一天程式碼(期間我通過IDE整合的Tomcat伺服器來除錯我的應用
每個程式設計師都應該瞭解的 CPU 快取記憶體 英文原文:Memory part 2: CPU caches
現在的CPU比25年前要精密得多了。在那個年代,CPU的頻率與記憶體匯流排的頻率基本在同一層面上。記憶體的訪問速度僅比暫存器慢那麼一點點。但是,這一局面在上世紀90年代被打破了。CPU的頻率大大提升,但記憶體匯流排的頻率與記憶體晶片的效能卻沒有得到成比例的提升。並不是因為
每個程式設計師都應該知道的8個Linux命令
cat cat – 連線檔案,並輸出結果 sort sort – 檔案裡的文字按行排序 grep grep, egrep, fgrep – 打印出匹配條件的文字行 cut cut – 刪除檔案中字元行上的某些區域 sed se
每個程式設計師都應該瞭解的記憶體知識1——記憶體概述
1、概述 早期的計算機很簡單,它的各種元件如CPU、記憶體、大容量儲存和網路介面都是一起開發的,所以效能差不多。舉個例子來說,記憶體和網路介面提供資料的速度不會比CPU快多少。 這種情況隨著計算機基本結構的固化和各子系統的優化慢慢地發生了改變。其中一些元件
每個程式設計師都應該收藏的演算法複雜度速查表
這篇文章覆蓋了計算機科學裡面常見演算法的時間和空間的大複雜度。我之前在參加面試前,經常需要花費很多時間從網際網路上查詢各種搜尋和排序演算法的優劣,以便我在面試時不會被問住。最近這幾年,我面試了幾家矽谷的初創企業和一些更大一些的公司,如 Yahoo、eBay、LinkedIn
【轉】為什麼我認為每個程式設計師都應該用Mac OS X?
原文:http://tiny4.org/blog/2010/02/why-programmers-should-use-mac-os-x/ 查爾斯·狄更斯老師的《雙城記》裡有句非常著名的話,我每次看到都心潮澎湃,所以看了無數次《雙城記》總是在那兩句話前後打轉。心說,開頭就這麼
linux 每個程式設計師都應該知道的8個Linux命令
每個程式設計師,在職業生涯的某個時刻,總會發現自己需要知道一些Linux方面的知識。我並不是說你應該成為一個Linux專家,我的意思是,當面對linux命令列任務時,你應該能很熟練的完成。事實上,學會了下面8個命令,我基本上能完成任何需要完成的任務。 注意:下
每個程式設計師都應該學習的5種程式語言
瞭解一種或者真正的編碼語言是很好的,但作為一個真正的多語言開發人員是如何實現真正的主要狀態。 我在某處讀到程式設計師應該每年學習一種新的程式語言(我認為它的程式碼完整,但不確定),但如果你不能這樣做,我建議你至少學習以下五種程式語言,以便在你的職業生涯中取得好成績。 。
每個程式設計師都應該讀的書
1. 《程式碼大全》 史蒂夫·邁克康奈爾 推薦數:1684 code complete 程式碼大全 “優秀的程式設計實踐的百科全書,《程式碼大全》注重個人技術,其中所有東西加起來,就是我們本能所說的“編寫整潔的程式碼”。這本書有50頁在談論程式碼佈局。” —— Joel S
每個程式設計師都應該瞭解的十一句話
1.技術只是解決問題的選擇,而不是解決問題的根本 我們可以因為掌握了最新的JavaScript框架ahem、Angular的IoC容器技術或者某些程式語言甚至作業系統而歡欣雀躍,但是這些東西並不是作為程式設計師的我們用來解決問題的根本——它們只是用於幫助我們解決問題的簡單工具。 我們必須非常謹慎,不要對某項正
每個程式設計師都應該知道的
http://projectmona.com/bits-of-brilliance-session-five/ 裡面內容很雜但很豐富,是UIUC教授Jeff Erickson在程式設計方面的個人收集(其他收集可以參見:http://projectmona.com/bits-
(不斷更新)每個程式設計師都應該知道的那些事兒
http://projectmona.com/bits-of-brilliance-session-five/裡面內容很雜但很豐富,是UIUC教授Jeff Erickson在程式設計方面的個人收集(其他收集可以參見:http://projectmona.com/bits-of