日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

高效程序調試和測試方法

系統 1796 0

調試程序往往比編寫程序更浪費時間,正如一些有經驗的程序員所說,軟件的開發應該包括20%的程序編寫時間和80%的Debug時間。并且調試程序比編寫程序要難2倍。編寫巧妙的程序并不一定調試方便。

程序的調試有很多方法,比如最常見的VC之類的IDE都提供加斷點,逐步執行,逐段執行的功能。但是這只能針對程序某個微小的片段,對于前期bug的范圍的界定并不是很方便。況且對于不滿IDE的臃腫,身陷Vim, notepad++, Editplus之類的編輯器之中,我們需要找到更加高效的程序調試和測試方法。

在程序執行的關鍵點打印Log是一個非常高效的方法,如何打印log進行程序調試呢? 以PHP程序開發為例,需要2個步驟:

1. PHP函數中兩個關鍵的打印變量的方法

print_r var_dump

所以我們可以在關鍵的地方打印需要的變量。

2. 收集我們在程序中打印的變量

我們可以把程序執行過程中打印的變量逐條寫到文本文件里。在程序執行完畢之后進行分析,查找Bug,修正程序。

PHP中打印時間,和變量的程序片段:

    function file_log($message) {
    global $file_log_location;
    ob_start();
    echo date("Y-m-d H:i:s \t", time());
    print_r($message);
    echo "\n";
    $var = ob_get_contents();
    ob_end_clean();
    $open=@fopen($file_log_location,"a");
    @fwrite($open,$var);
    fclose($open);
}

  

應用此段程序還需要對log的存儲位置 $file_log_location 賦值。

在需要的地方插入此片段,執行PHP程序,就會得到所需信息。

但是假如是長時間運行的程序如何在程序執行的過程中就查看到log的信息?相信你已經想到了可以在shell中用

tail -f /var/debug.log

這樣總可以看到程序吐出的最新的debug信息。

附件是Drupal中進行debug的一個小的module,做drupal開發的同學可以嘗試一下。

Drupal debug module

雖然本文針對PHP開發所言,但是這種方法也適合python,java之類的動態語言的開發。

原文地址: http://blog.eood.cn/efficient_debugging_php_java_python

–EOF–

高效程序調試和測試方法


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 柳州市| 敖汉旗| 怀集县| 永平县| 松潘县| 延吉市| 高阳县| 宝应县| 开封市| 方正县| 德惠市| 杂多县| 化州市| 阜平县| 岐山县| 庐江县| 岢岚县| 桃源县| 朝阳县| 阜康市| 嘉鱼县| 绥芬河市| 伊宁市| 赤城县| 云霄县| 微博| 漳浦县| 昌乐县| 云梦县| 仙桃市| 丹阳市| 通河县| 新源县| 剑阁县| 神农架林区| 彭阳县| 博白县| 修武县| 石河子市| 金华市| 南通市|