通過除錯找出程式的錯誤
我們在編寫程式時,即使再簡單,也有可能出現錯誤,當通過瀏覽程式檢查不出錯誤時,就需要通過除錯找到錯誤並改正。
下面以Visual Studio 2012為例:
如上圖,是Visual Studio 2012的工具欄,紅色框中的綠色實心按鈕就是除錯按鈕,除錯時,點選該按鈕。
如上圖,如果除錯結束,就點選紅色框中的紅色按鈕。
如上圖所示,需在原始碼的左側空白框處,單機滑鼠左鍵,出現如圖綠色框中的紅色按鈕,再點選一次,圓點便會消失。有了這個紅色圓點,點選除錯才可以進行除錯,紅色圓點的作用就是是函式執行時停在圓點所對應的這一行,然後逐步執行,檢查錯誤,這個紅色圓點可以點在任何一行,即函式執行時可以停在任何一行的位置。
如上圖,在除錯開始後,工具欄中會有如上圖紅色框中的三個按鈕,分別是進入該函式,跳過該函式,跳出該函式,如進入for迴圈,需要一步一步逐語句進行,就應該點選第一個藍色按鈕,如果遇到了printf函式,不需要進入該函式,則點選第二個藍色按鈕,若不小心進入了printf函式,便可以點選第三個藍色按鈕跳出函式,例如下圖:
如下圖,下面的視窗是自定視窗,其中的值根據函式執行而變化,若想自己看某個值的變化,可以選擇如上圖中的監視,在監視中可以自己輸入想檢視的變數的值
通過除錯我們就可以找出程式到底是哪裡出了問題,進行改正。
相關推薦
通過除錯找出程式的錯誤
我們在編寫程式時,即使再簡單,也有可能出現錯誤,當通過瀏覽程式檢查不出錯誤時,就需要通過除錯找到錯誤並改正。下面以Visual Studio 2012為例:如上圖,是Visual Studio 2012的工具欄,紅色框中的綠色實心按鈕就是除錯按鈕,除錯時,點選該按鈕。如上圖,
go原始碼分析(一) 通過除錯看go程式初始化過程
參考資料:Go 1.5 原始碼剖析 (書籤版).pdf 編寫go語言test.go package main import ( "fmt" ) func main(){ fmt.Println("Hello World") } 帶除錯的編譯程式碼 go build -
apollo學習筆記---通過lincoln找出如何將控制訊號和CAN通訊相連線
任務目標: 現在人工智慧成為當下熱門研究物件,自動駕駛技術作為人工智慧重要的一個研究領域集結了大量的科技人才,然而高成本和高技術門檻成為研究自動駕駛技術的一個重要瓶頸。apollo的釋出為我們的開發提供了一個選擇,無奈,apollo推薦的lincoln實在太貴了
Merged Manifest合併清單的效果並找出衝突錯誤
合併多個清單檔案 APK 檔案只能包含一個 AndroidManifest.xml 檔案,但 Android Studio 專案可以包含多個檔案(通過主源集、構建變體和匯入的庫提供)。因此,在構建應用時,Gradle 構建會將所有清單檔案合併到一個封裝到 AP
【一起學原始碼-微服務】Ribbon 原始碼二:通過Debug找出Ribbon初始化流程及ILoadBalancer原理分析
前言 前情回顧 上一講講了Ribbon的基礎知識,通過一個簡單的demo看了下Ribbon的負載均衡,我們在RestTemplate上加了@LoadBalanced註解後,就能夠自動的負載均衡了。 本講目錄 這一講主要是繼續深入RibbonLoadBalancerClient和Ribbon+Eureka整合的
linux應用程式設計筆記(1)gdb除錯方法及如何找出dbg.c程式中的錯誤
摘要: 介紹了gdb偵錯程式以及其使用流程,總結了常用的幾個gdb除錯命令,最後使用這些方法找出dgb.c檔案中的錯誤。 一、gdb簡介 gdb是gnu釋出的一款功能強大的程式除錯工具,其主
輸入一行字元,統計其中的英文字元、數字字元、空格字元,以及其他字元的個數。請找出以下程式的錯誤,並改正之。
#include <stdio.h> #include <string.h> #define ARR_SIZE 80 main() { char str[ARR_SIZE]; int l
C 語言的一個錯誤,沒找出原因
amp n) string getc bsp can 什麽 數據 能夠 #include <stdio.h>#include <stdlib.h>#include <string.h> intmain(void){ char str[51
使用Valgrind找出Android中Native程式記憶體洩露問題
轉自 https://blog.csdn.net/roland_sun/article/details/46049485 Android程式通常使用Java程式編寫,由於Dalvik虛擬機器集成了垃圾回收機制,所以記憶體使用比較不容易出錯,通常就是一個本該被釋放的物件
演算法題008 -- [寫一個程式找出兩個單鏈表的交叉節點] by java
題目 寫一個程式找出兩個單鏈表的交叉節點。 演算法要求: 如果兩個連結串列沒有交叉點,就返回null 這兩個連結串列必須在方法結束後保持他們原來的資料結構 你可以認定在連結串列的結構不存在環 時間複雜度O(n), 空間複雜度O(1) 舉例
利用chrome瀏覽器進行js除錯並找出元素繫結的點選事件詳解
大家有沒有遇到這樣的一個問題,我們在分析一些大型電子商務平臺的Web前端指令碼時,想找到一個元素繫結的點選事件,並不是那麼容易,因為有些前端指令碼封裝的比較隱蔽,甚至有些加密指令碼,用傳統的查詢元素ID、或者頁面原始碼方法去找,可能最後徒勞無功。下面我來介紹利用chrome瀏覽器來查詢元素繫
python3+selenium自動化測試:除錯python程式錯誤記錄,呼叫類時格式出錯
如圖所示,driver後面的括號報錯,當時不明白缺少了什麼,後來查資料,才知道,Login物件化的格式錯誤,應該寫為Login()。 修改後沒有再報錯。 程式碼如下: from selenium import webdriver from public impor
七個程式學習資源介紹,找出最適合你的入門課程
身處在這個「全民學程式」時代,幾年後當程式設計變成連國中生都必備的能力時,不會寫程式的人在未來就要變成少數民族。越來越多人開始想要學程式,但網路到底哪裡有資源可以幫助我們學習?每種學習資源都有不同的特色,又有哪些是比較適合我的呢?在這篇文章中,我們將認識七個各有不同適合族群的學習資源與線上網站。為了避免新手在
通過Web安全工具Burp suite找出網站中的XSS漏洞實戰(二)
一、背景 筆者6月份在慕課網錄製視訊教程XSS跨站漏洞 加強Web安全,裡面需要講到很多實戰案例,在漏洞挖掘案例中分為了手工挖掘、工具挖掘、程式碼審計三部分內容,手工挖掘篇參考地址為快速找出網站中可能存在的XSS漏洞實踐(一)https://segmentfau
通過程式碼審計找出網站中的XSS漏洞實戰(三)
一、背景 筆者此前錄製了一套XSS的視訊教程,在漏洞案例一節中講解手工挖掘、工具挖掘、程式碼審計三部分內容,準備將內容用文章的形式再次寫一此,前兩篇已經寫完,內容有一些關聯性,其中手工XSS挖掘篇地址為快速找出網站中可能存在的XSS漏洞實踐(一)https://
程式設計師面試一百題-04-在二元樹中找出和為某值的所有路徑
1-題目 : 輸入一個整數和一棵二元樹;從樹的根結點開始往下訪問一直到葉結點所經過的所有結點形成一條路徑;打印出和與輸入整數相等的所有路徑。 2-示例 : 輸入整數22和如下二元樹,則應答應出兩條路徑10-12和10-5-7。 3-思路 : 3.1-當訪問到某一結點時,把該結點
程式基本演算法習題解析 用分治法設計一個演算法,找出偽造硬幣
題目: 一個裝有16枚硬幣的袋子,16枚硬幣中有一個是偽造的,並且那個偽造的硬幣比真的硬幣要輕。現有一臺可用來比較兩組硬幣重量的儀器,請使用分治法設計一個演算法,可以找出那枚偽造的硬幣。 首先建立一個有16個int資料型別的陣列,模擬16枚硬幣,真幣賦為1,假幣賦為0。根據二分搜
通過獵聘的招聘資訊找出學習線路規劃
文章首發於微信公眾號:Python綠洲。如需轉載,請聯絡該公眾號 前言 之前發過一篇文章《 Python or Java?Boss直聘告訴你該如何選擇》, 主要是這兩種語言方向在應聘崗位上的比較,沒有涉及具體的崗位要求的分析。前兩天,剛好看到網上的一些學習路線圖,又
當心陌陌洩漏你的位置資訊:通過3次位置移動,就可以準確找出身邊人的位置
使用過陌陌的同學都知道,陌陌可以隨時搜尋到周邊的人。 同時,陌陌還可以標記出,哪些人離你距離是多少,多長時間前在次位置,就是:位置與時間資訊。 實際上,這種做法,是將使用者的位置資訊完全暴露了。 我通過三次位置移動,分別觀察一位好友距離我的位置,可以準確定位出好友最後一次出沒的具體位置。 圖中紅色
程式設計師面試題:快速找出一個數組中的兩個數字,讓這兩個數字之和等於一個給定的值
能否快速找出一個數組中的兩個數字,讓這兩個數字之和等於一個給定的值,為了簡化起見,我們假設這個陣列中肯定存在至少一組符合要求的解。 假如有如下的兩個陣列,如圖所示: 5,6,1,4,7,9,8 給定Sum= 10 1,5,6,7,8,9 給定Sum=