PHP 如何快速定位BUG的方法

2021-07-28 22:08:54 字數 1619 閱讀 1116

快速定位bug是程式設計師工作最頭疼的問題 沒有之一 尤其是當程式已經在online環境以後 so 聽我說 其實定位問題也沒有那麼的難

log方法

你要保證日誌的檔案許可權擁有許可權和在乙個安全的位置 php指令碼放置的 nginx 或 apache的應用資料夾中 然後你可以自定義一下 error.log的位置 這個你可以在配置檔案中指定

需要將php.ini中的配置指令做如下修改:

<?php

## error_log 函式

if(!ora_logon($username, $password))

if(!($foo=allocate_new_foo())

error_log("傳送到本機對應5000埠的伺服器中", 2, "localhost:5000"); //傳送到本機對應5000埠的伺服器中

error_log("傳送到指定的檔案中", 3, "/usr/local/errors.log"); //傳送到指定的檔案中

?>

2.安裝debug外掛程式

xdebug.auto_trace = on    ;用於設定在指令碼執行前是否自動跟蹤方法的呼叫資訊。

xdebug.show_exception_trace = on

xdebug.remote_autostart = on ;通常需要使用乙個特定的http get / post變數開始遠端除錯(參見遠端除錯)。這個設定設定為1時,xdebug將始終嘗試遠端除錯會話開始,嘗試連線到乙個客戶,即使get / post / cookie變數並不需要。

xdebug.remote_enable = on ;這個開關控制xdebug是否應該聯絡乙個除錯客戶端監聽的主機和埠的設定

xdebug.remote_host = 127.0

.0.1

; 選擇主機的除錯客戶端執行時,可以使用主機名或ip位址。

xdebug.remote_port = 9000

xdebug.remote_handler = dbgp ;可以是「php3」選擇舊的php 3樣式偵錯程式輸出,』 gdb 『使gdb偵錯程式介面或「dbgp」——偵錯程式協議。dbgp協議是唯一支援的協議。

**注意:**xdebug 2.1及以後版本只支援「dbgp」協議。

xdebug.profiler_enable = on ;建立配置檔案中的檔案輸出目錄。這些檔案可以被kcachegrind看到您的資料視覺化。

xdebug工具有很多設定的引數 是一款很方便快捷 跟蹤指令碼定位問題的超級好用的工具

3.自定義錯誤異常處理(try…catch exception)

<?php

function

inverse

($x)

return

1/$x;

}try catch (exception

$e)

// continue execution

echo

"hello world\n";

?>

未完…待續

程式設計師如何去快速定位bug

找 bug 如 testing 與去 bug debugging 這在軟體工程裡是兩個截然不同的任務。發現 bugs,測試並非唯一手段,其他還有 code review inspection 等等。找 bugs 通常有幾個相對快速的辦法。比如,為 code base 編寫 新增更多的自動單元測試,這...

系列 iOS開發 如何快速定位bug並解決

本來沒有打算針對這個開文的,昨天工作忙完,閒來無事的時候,逛逛論壇,貼吧啥的,偶然間就發現了有人發bug帖.上面說的神乎其神呢 大家可以去看看.於是編譯執行專案 按照他說的,確實出現了這個小而且偏的bug復現 於是想要解決bug 首先不管理記憶體什麼的問題,懷疑是不是vc沒有釋放?於是在vc的dea...

系列 iOS開發 如何快速定位bug並解決

系列 ios開發 快速定位bug並解決 本來沒有打算針對這個開文的,昨天工作忙完,閒來無事的時候,逛逛論壇,貼吧啥的,偶然間就發現了有人發bug帖.www.jianshu.com p b51ead39c 上面說的神乎其神呢.大家可以去看看.於是編譯執行專案 按照他說的,確實出現了這個小而且偏的bug...