摘要:單擊此按鈕可暫停程序執行。單擊此按鈕,通過標準關閉腳本從外部終止當前進程。實際上,插入符號處的當前行有一個臨時斷點集,一旦程序執行暫停,就會刪除它。心中始終十分抗拒,導致功能變更延期。
介紹
在 上一期 中我們已經把 xdebug 和 phpstorm 的關聯配置設置好了,接下來我將會深入的介紹 debug 的運用。分為3點內容
快速找到錯誤的原因
輔助讀懂比效復雜的代碼
代碼重構
環境說明windows
vagrant+vbox+centos7+nginx+php
phpstorm
學前準備xdebug + phpstorm 調試環境已經可以正常運行
調試跳轉圖標 | 描述 |
---|---|
當當前應用程序停止時,單擊此按鈕再次調試。 | |
單擊此按鈕可暫停程序執行。 | |
單擊此按鈕,通過標準關閉腳本從外部終止當前進程。 | |
單擊此按鈕以打開斷點對話框,您可以在其中配置斷點行為。 | |
使用此按鈕切換斷點狀態。 | |
單擊此按鈕以突出顯示編輯器中的當前執行點,并在框架窗格中顯示相應的堆棧框架。 | |
單擊此按鈕執行程序,直到當前方法或文件中的下一行,跳過在當前執行點引用的方法(如果有的話)。如果當前行是方法中的最后一行,則執行步驟到在此方法之后執行的行。 | |
f7單擊此按鈕,使調試器步驟進入在當前執行點調用的方法。 | |
單擊此按鈕,調試器將從當前方法中退出,并立即執行該行。 | |
單擊此按鈕恢復程序執行并暫停,直到執行點到達編輯器中當前游標位置的行。不需要斷點。實際上,插入符號處的當前行有一個臨時斷點集,一旦程序執行暫停,就會刪除它。因此,如果插入符號位于已經執行的行上,則程序將重新開始執行,因為無法回滾到以前的斷點。當您深入到方法序列中并需要st時,這個操作特別有用 |
在開發中我們經常會碰到很多 bug。一般有以下幾種
php 語言報錯
報錯時,我們應該先看下報錯內容,這很重要,他可以讓你知道你的代碼錯那里了。一般會返回給你錯誤是那一行,環境裝了 xdebug 后還會顯示錯誤的地址運行時經過了那些文件,那些方法
寫數據庫操作失靈
這個錯誤難度就高了些。因為你需要了解當前業務需要改那些數據表。操作過后那張表的數據漏了。這個操作你有沒有寫。雖然說只要自己了解業務就可以不用調試也可以快速解決,但是傳參或返回很復雜。那這個就很適合了
輔助讀懂比效復雜的代碼工作中并不是全都是自己使用框架開發,有時還會為了進度使用一些開源的項目(ecshop,dedecms)。也可能是前同事遺留的代碼。自己寫的東西很容易看懂,但是看別人的東西,如果寫的不好那絕對是惡夢。你會在看都不想看,心里在吐槽代碼不合理的地方。心中始終十分抗拒,導致功能變更延期。
復雜的代碼只需要知道它會接收什么參數,返回什么東西就可以了。如果不是很重要完全可以不看它內部的內容。把它隔離開來。
學習技術超前的代碼運行邏輯。那就需要進行斷點調試了。
代碼重構代碼重構是維護一個寫的很爛的項目必需經歷的過程。重構的核心也是知道指定的方法有那些改變,或把它拆分出來。或把它整合到一塊。
斷點查看原邏輯有那些操作,記錄下來,如果不是算法,主要記錄的還是數據表操作
每個操作都有傳參和返回,在調試模式下我們很容易就知道訪問方法前環境中有那些參數可供使用
重構完后,可以使用相同的請求參數來訪問重構代碼。結果一致就為重構完成了
系列文章xdebug的安裝配置
xdebug的實際運用 [本篇]
xdebug性能分析
FQA文章字太多了,不想看
我的文章有對應的視頻,你可以通過視頻來進行學習這一期的內容。
但是你不要吐槽我語言表達能力和普通話,因為我平時也不怎么說話,想練習口才才做的視頻。附上 鏈接
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29382.html
摘要:生成性能分析文件,再通過分析軟件進行查看性能結果。性能分析工具詳解我們通過打開性能分析文件打頭的文件。可以很好的區分性能分析文件。 介紹 在上兩期中我已經對 xdebug 最核心的操作已經進行了講解。相信你可以擺脫寫 var_dump($data);die; 的編寫和完成調試后的清除了。這一期我們來學習xdebug的第二個特色-性能分析。這一個功能,在實操中用的不是很多。 使用場景: ...
摘要:當我在官網看到了遠程調試原理圖時,我才知道應該怎么配置。配置的參數也少了很多,也不需要在里對一個個請求地址進行配置。其他可以配置可以共用。但是如果你使用的是本地的那他就會出現端口被占用的情況。 介紹 我之前配置直接按網上的文章進行配置總是配置不成功,里面很多東西不了解。當我在 xdebug 官網看到了 xdebug 遠程調試原理圖時,我才知道應該怎么配置 xdebug。配置的參數也少了...
摘要:目前有兩種流行的調試器,我在學習和研究過程中,發現網上的各種信息過于凌亂,感到痛苦,影響理解和使用。腳本在運行時,由插件向發起連接,將調試信息發送給,并通過協議進行互動。這種模式的缺陷是配死了目標,不能支持多用戶調試。 > 工欲善其事必先利其器,學習一門新語言,調試器的使用必不可少,本文分享一下PHP調試器的使用。 PHP目前有兩種流行的調試器, Xdebug Zend Debugg...
摘要:地址這是一份適用于生產和開發環境的。目前已經在我司的生產環境上并運行良好。日常開發中也是基于此鏡像進行的。如果想快速看看鏡像里有啥東西,只需要運行其中替換成你實際的鏡像。開發環境的使用單獨運行這個容器是沒有意義的。 GITHUB地址:https://github.com/banyancheu... 這是一份適用于生產和開發環境的 Dockerfile。 在 phuison/baseim...
閱讀 2974·2021-09-26 10:18
閱讀 5305·2021-09-22 15:02
閱讀 2808·2019-08-30 15:53
閱讀 1855·2019-08-29 18:41
閱讀 2703·2019-08-27 10:58
閱讀 2634·2019-08-26 13:49
閱讀 2760·2019-08-26 12:17
閱讀 910·2019-08-26 11:49