轉自:http://blog.csdn.net/a600423444/article/details/12720543
前言
開發中必不可少的環節化影響軟體品質。
之前開發PHP擴展,一直不會DEBUG調試,每次調試都是重新編譯、執行再運行PHP腳本看運行狀況再調試。太痛苦、太影響效率了。也百度、Google瞭如何調試PHP擴充的問題,但回答的幾乎都是GDB,可惜也不知道如何實際操作。
VS用的不多,很多功能也不知道幹嘛的,前幾天有位同事說可以用VS的「附加到進程」來調試PHP的擴展,我擦~突然感覺有救了。當然也是因為我對C的調試不熟悉而導致的。
進入主題:
一、搭建Windows的PHP擴展開發環境
查看我的另一篇文章:http://blog.csdn.net/a600423444/article/details/8108993二、設定偵錯環境
選擇時,注意必須與下載的PHP二進位版本相同,例如你在第一步搭建PHP開發環境時,選擇的是VC9 x86 Non Thread Safe,那麼DEBUG PACK就應該下載相同版本的DEBUG PACK。
Debug pack壓縮套件裡是所有PHP調試相關的符號檔案(*.pdb),引入他們是調試的關鍵。
注意:只有在調試狀態下,載入所有符號按鈕才能點
工具-》選項-》調試-》符號-》將解壓路徑加入符號位置
3.擴充開啟DEBUG資訊
專案-》屬性-》連結器-》除錯-》產生除錯資訊-》設定為「是」
產生vc110.pdb,將它也放入前面解壓縮的PDB路徑,為了統一命名格式,可以將其改名與擴充同名。這裡我本機改的是「php_test.pdb」
while
(1){);
此處,且常駐並非必須的。只是我本地為測試方便。
2.新增斷點位置
3.附加進程