• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            deepway

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              1 Posts :: 9 Stories :: 1 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(4)

            我參與的團隊

            搜索

            •  

            最新評論

            • 1.?re: 軟件運行日志[未登錄]
            • 我覺得調試日志不應該只記錄軟件的非正常過程吧,而是記錄軟件的運行過程。期間有不正常的時候用warning,error和fetal來記錄。
            • --hi

            軟件運行日志                    
            --------------------------------------------------------------------------------
                現(xiàn)代軟件日益復雜,徹底消除軟件中的錯誤已經被證明是不可能的,那么,及時發(fā)現(xiàn)錯誤、定位錯誤現(xiàn)場信息,迅速排除軟件錯誤就成為非常重要的事情,甚至在軟件實際運行環(huán)境中也是如此。軟件運行日志就是捕獲錯誤現(xiàn)場信息的一種重要手段。

                軟件運行日志是給誰看的?我認為是軟件維護人員、資深客戶(比如客戶方的系統(tǒng)管理員)。軟件中的錯誤信息,應該分為兩類,一類是軟件用戶能夠理解的,另一類是軟件用戶不能理解的,需要軟件維護人員介入的。前者,通常與軟件用戶的操作行為相關,軟件用戶在得到提示后,可以自行進行處理;而后者,通常與軟件自身缺陷、軟件部署環(huán)境問題相關的,只有軟件維護人員才能處理的。很明顯,對于后者的詳細內容,沒必要用告警對話框的方式提供給軟件用戶,而且這樣做,會大大增加軟件錯誤處理的復雜度。直接將其寫入運行日志,是最簡便、也最可靠的方法。可以想象下面的場景,應用軟件在某臺電腦上運行出錯,軟件維護人員或客戶方系統(tǒng)管理員查看運行日志,發(fā)現(xiàn)了一些系統(tǒng)模塊調用失敗的信息,并與開發(fā)人員遠程溝通,開發(fā)人員根據(jù)這些信息,迅速定位報告錯誤的代碼,隨后開發(fā)人員可能反饋,某個系統(tǒng)組件沒有的到正確的配置,也可能反饋,軟件中有一處缺陷,將在下一個版本或補丁包中得到修正。不管是哪一種情況,這一過程讓我們感到的是效率和愉悅。

                在了解到軟件日志是給誰看的之后,我們就可以合理制定軟件中的錯誤處理策略。一些錯誤,我們需要逐層向上報,最終得到妥善處理或者向用戶給出提示;另一些錯誤,我們直接將其信息寫入軟件運行日志,并向上反饋本函數(shù)發(fā)生了錯誤,未能成功執(zhí)行。

                軟件運行日志的內容有哪些?我認為可以分為:關鍵信息提示、警告提示、錯誤提示、致命問題提示、調試日志。關鍵信息提示,是指軟件執(zhí)行到了某些重要的節(jié)點,就將相應的信息寫入軟件運行日志,通過這些關鍵信息提示,我們可以了解軟件的大致運行過程是否正常,而它成本非常低廉,相比安裝龐大的開發(fā)調試環(huán)境。警告提示和錯誤提示,都是用于提示軟件中的錯誤,那么兩者之間的區(qū)別如何界定呢?還有,調試日志也是報告軟件錯誤的,與這兩者又如何相區(qū)別呢?

                我認為,調試日志與警告提示、錯誤提示的本質性區(qū)別在于,調試日志是面向開發(fā)人員的,是從軟件執(zhí)行的角度發(fā)出的;警告提示、錯誤提示是從軟件功能的角度發(fā)出的。換而言之,調試日志是記錄軟件運行中的非正常現(xiàn)象,而警告提示、錯誤提示是記錄軟件某項功能失常的相關信息。

                我認為,警告提示、錯誤提示的本質性區(qū)別在于,警告提示是軟件功能出現(xiàn)問題,但沒有徹底失效;錯誤提示,就是此項功能完全失效,該項功能停止執(zhí)行,立即返回;致命問題提示,則是軟件整體安全受到威脅。反映到程序中,通常就是,在一個函數(shù)中檢測到錯誤后,該函數(shù)以失敗的方式返回,就報告錯誤提示;若函數(shù)仍能繼續(xù)執(zhí)行,就報告告警提示;若該錯誤嚴重違例,比如斷言違例、內存溢出、堆棧溢出等威脅穩(wěn)定性的錯誤,就報告致命問題提示。

                一般來說,致命性提示,通常是與軟件自身缺陷引起的,應當引起開發(fā)人員的重視;警告提示、錯誤提示多半是軟件運行環(huán)境配置問題引起的,但也不排除軟件缺陷、用戶操作等因素,應當引起軟件維護人員、系統(tǒng)管理員的注意。

                對于軟件維護人員,調試日志意義不大,而其數(shù)據(jù)輸出量卻往往相當大,因此,在軟件部署運行環(huán)境下,通常應當通過配置開關,關閉調試日志輸出。只有開發(fā)人員介入后,才有必要打開該開關,從而在缺乏調試工具的環(huán)境中,獲得豐富的調試信息。

                總的來說,將每一種錯誤、每一種軟件環(huán)境配置問題都以對話框的方式提示出來,或許可以減小維護成本,代價卻是開發(fā)成本成幾何級數(shù)增長;軟件開發(fā)中省掉錯誤處理,的確可減少一些成本,代價是即便一個環(huán)境配置問題,都需要開發(fā)人員現(xiàn)場調試,軟件維護成本大大增加。而軟件運行日志,無疑是兩者之間取得平衡的關鍵性武器。

            posted on 2010-08-02 18:05 maxime 閱讀(2801) 評論(1)  編輯 收藏 引用 所屬分類: 設計方法 & 編程方法

            Feedback

            # re: 軟件運行日志[未登錄] 2012-10-07 18:09 hi
            我覺得調試日志不應該只記錄軟件的非正常過程吧,而是記錄軟件的運行過程。期間有不正常的時候用warning,error和fetal來記錄。  回復  更多評論
              

            精品综合久久久久久97| 国产成年无码久久久久毛片| 免费观看成人久久网免费观看| 69久久精品无码一区二区| 国产精品对白刺激久久久| 久久天堂电影网| 少妇熟女久久综合网色欲| 亚洲中文字幕久久精品无码喷水 | 国产亚洲精品自在久久| 伊人久久综在合线亚洲2019| 亚洲精品WWW久久久久久| 无遮挡粉嫩小泬久久久久久久| 国产欧美一区二区久久| 伊人伊成久久人综合网777| 国产精品久久久久影院嫩草| 亚洲欧美一级久久精品| 狠狠色丁香久久综合婷婷| 久久久久久久97| 无码人妻少妇久久中文字幕| AV无码久久久久不卡蜜桃| 伊人久久大香线蕉综合热线| 91性高湖久久久久| 国产美女久久精品香蕉69| 亚洲精品tv久久久久久久久久| 亚洲乱亚洲乱淫久久| 亚洲精品无码久久久影院相关影片 | 国产韩国精品一区二区三区久久| 一级a性色生活片久久无| 国产精品熟女福利久久AV| 91精品国产乱码久久久久久 | 久久人人爽人人精品视频| WWW婷婷AV久久久影片| 精品久久久久久中文字幕大豆网| 色婷婷久久综合中文久久一本| 欧美亚洲另类久久综合| 久久精品国产只有精品2020| 无码专区久久综合久中文字幕| 久久综合亚洲色HEZYO社区| 久久久久国产一级毛片高清板| 久久亚洲国产精品123区| 麻豆国内精品久久久久久|