1. 程式人生 > >C# 基礎(十三)C# 軟體開發過程中,可執行檔案.exe 出現bug,該怎麼排查、解決:找到出現bug的位置

C# 基礎(十三)C# 軟體開發過程中,可執行檔案.exe 出現bug,該怎麼排查、解決:找到出現bug的位置

一、簡介

之前是完成了寫軟體,從而實現軟體的基本功能。到了今天,需要對自己寫的可執行檔案.exe找bug了。那麼下面,我將結合自己的軟體的使用過程中,講自己的經驗融入進來,解釋下什麼是bug、以及該怎麼找Bug。

二、Bug的分類

主要參考:

https://blog.csdn.net/wybing/article/details/398120(將Bug的來源,很詳細闡明瞭,看完這篇就夠了)

★邏輯類:結構、演算法等在程式高度執行下,相當於人腦思考東西吧,會出現紊亂。主要原因是架構、演算法存在問題。

★移植類:移植別人的庫等,會出現不相容等問題。

 

三、排查Bug的方法(你可以看看麥肯錫系列書記,方便發現並分析 問題的本質

我在麥肯錫系列書籍中,學習到了分析問題的本質。同理,其相關方法可以用在軟體上,從而找出bug根源。目前,網上很多部落格說的都是屁話,基本上沒有提供很詳細的介紹。這裡我詳細總結一番,說說如何如何找Bug。

方法1:斷點——只能在非可執行檔案.exe中,即在原始碼工程中才使用。

方法2:寫日誌——在你的程式碼中,多新增一些日誌。

方法3:事件檢視器——應用程式——錯誤資訊——常規,排查自己的應用程式,會定位到自己可執行KeenRay.exe專案中,資料夾SocketServer中,類SendProtocol中的方法SendProtocolFunc:

其中

.net runtime ——  表示.exe執行時用到的.net模組,發生了錯誤。

Applicaion Error——表示.exe執行錯誤

Windows Error Reporting——系統錯誤

四、總結

1、找Bug,就像做人一樣,要做到細膩。專案或程式有bug,即使你覺得不是你的問題,也要和Team、特別是領導,善於交流,不要太武斷。多虛心學習,多請教別人,你會發現,專案越龐大,Bug越複雜化,就越需要一個人的修養,才能解決問題。

2、先用方法3(找函式的位置),再用方法2(找該函式的某一行),最用用方法1來單步執行(找該行的變數)。可以完美地找到Bug出現在哪。