除錯。
以前咱們寫課後習題,一般也不需要使用除錯,如果程式編譯error,根據錯誤資訊就可以改好;如果是結果錯誤,那麼在稿紙上過幾遍基本也可以得出結果。但咱們這個課設比較大,就需要很多除錯的過程,尤其是在鍊錶/開關變數的除錯上。其實我對除錯也不是很了解,但我跟大家分享一些我所接觸到的除錯方式。
f10和f11是非常常用的,兩者的區別是f11是單步除錯,但是會進入到子函式中。f10的話也是單步,但是會跳過模組。感覺平時用f10更多一些。在用單步除錯時,監測變數的視窗可以智慧型顯示出你可能要看的變數的值,相當方便。比如咱們可以用單步除錯的功能,看看程式的流程是怎麼走的,這樣可以看出很多問題,比如程式的條件判斷、分支流程是不是走錯了。
說到變數監測,也可以手動新增你想看的變數,甚至是表示式的值。可能需要手動新增,很方便,大家自己看一看。
但是咱們的課設有個很大的障礙,就是在easyx編出來的視窗執行時,似乎是不能同時除錯的,如果想除錯,就得把執行中斷,或者說暫停;還有乙個問題,就是如果程式寫了很長,但咱們只需要在乙個小部分中單步除錯,總不能從頭單步除錯吧?或者有乙個迴圈迴圈了幾百次,但用單步除錯的話就得按好幾百次按鍵。所以咱們經常需要使用斷點這個功能。在**的行數左側的空白處單擊一下,就可以新增乙個紅色的實心圓,這就代表新增了乙個斷點。在除錯模式下,程式執行到斷點時就會暫停。這時候就可以比較方便的看變數的值,按需做出調整。舉個例子,咱們在需要仔細單步除錯的部分之前新增乙個斷點,想辦法讓程式執行到斷點,程式會暫停,然後就可以用f10一步一步的走。
咱們一般是用f7進行編譯,ctrl+f5執行,而f5就是除錯。斷點的話也有快捷鍵,但一般用滑鼠來點就夠用了。
條件斷點也是個很不錯的功能,可以有條件地中斷程式。其實c語言中還有個很好用的斷言功能,但我也沒怎麼用過,暫且按下不表。斷言功能舉個例子,比如我有個變數,flag_status,如果是1就執行程式,0是暫停程式。那咱們可以在某處新增乙個斷點,斷點的條件是"1 == flag_status",那就只有在程式在執行狀態時才會執行這個斷點。這個用處還是挺多的,可以節省很多除錯的時間或者腦力。
其實咱們這個課設的彈性是很大的,我個人的感受是,有些微小的bug改起來是極為耗費時間和腦力的,有些bug越改問題越多,但改完以後,很可能都不會被看你程式的人注意得到。所以很多除錯工作在我看來都是乙個對自己負責的工作,而不是對老師,或者是對最後的分數負責的工作。
CISSP考試心得分享
拖拉了好幾年,去年年底終於決定開始認真學習cissp準備考試。11月4號報的匯哲的培訓班,截止今天2018.1.19,一共2個半月,順利通過了。隨便寫寫經驗,分享給大家。我自身本科學的資訊科技,碩士學的網路 通訊,工作後一直搞網路以及運營,以及少量專案管理,考了工信部下面的資訊系統專案管理師,跟著單...
CISSP考試心得分享
拖拉了好幾年,去年年底終於決定開始認真學習cissp準備考試。11月4號報的匯哲的培訓班,截止今天2018.1.19,一共2個半月,順利通過了。隨便寫寫經驗,分享給大家。我自身本科學的資訊科技,碩士學的網路 通訊,工作後一直搞網路以及運營,以及少量專案管理,考了工信部下面的資訊系統專案管理師,跟著單...
CKA考試心得分享
考試相關準備 考試現場環境 需要乙個安靜的房間,任何公共場合 如咖啡廳等 均不能作為考場,同時環境內盡量簡潔,考試前需要用攝像頭四周進行轉動。同時考試是可以使用透明的杯子喝水的 建議放在旁邊 考試方式 考試時長3小時,總共24道題,總分100分,76分通過。只使用chrome瀏覽器,不會使用到其他軟...