c 語言除錯方法(除錯 PHP 底層、擴充套件)

jackbot發表於2019-09-04

目的

PHP執行環境基於linux虛擬機器,clion編輯器為win10的遠端除錯環境。

如果是除錯php和php的擴充套件

編譯引數

例如通過除錯來學習php和swoole,我需要重新下載php原始檔和swoole原始檔,將swoole的原始檔copy到php原始檔下的ext目錄下。然後再cd到php原始檔根目錄。執行./configure --help | grep debug可以匹配到有哪些debug編譯選項,./configure --help | grep swoole 可以找到有哪些編譯swoole選項。

這裡我的命令為./configure --prefix=$HOME/code/myphp --enable-swoole --enable-debug

--prefix選項是安裝路徑

執行命令後會生成Makefile檔案,編輯它

找到CFLAGS_CLEANCXXFLAGS_CLEANCXXFLAGS這3個選項,他們是GCC編譯引數,將-g變成-g3,這樣除錯資訊可以新增巨集資訊。

Clion配置說明

  1. 連線虛擬機器

c語言除錯方法(除錯PHP底層、擴充套件)

使用SSH連線虛擬機器,因此我們需要填寫虛擬機器地址、登入名、埠、密碼(金鑰)

  1. 配置原始碼對映

c語言除錯方法(除錯PHP底層、擴充套件)

Local path:填寫win10專案路徑

Deployment path :虛擬機器專案路徑

  1. 配置GDB

c語言除錯方法(除錯PHP底層、擴充套件)

c語言除錯方法(除錯PHP底層、擴充套件)

c語言除錯方法(除錯PHP底層、擴充套件)

虛擬機器端配置

  1. 安裝gdbserver

    sudo apt install gdbserver

  2. 執行gdbserver

    gdbserver :1234 php test.php

回到Clion打上斷點除錯。

相關文章