Mac 下使用 clion 偵錯 PHP 核心原始碼

2020-07-16 10:06:09
操作步驟

1、下載原始碼

2、安裝

./configure --prefix = 指定安裝路徑 --with-config-file-path = 指定組態檔讀取路徑 --with-iconv = 指定 iconv 安裝的路徑 --enable-debug
make && make install

3、使用 clion 建立 project

c683fc2c4ada08fdf7eff59e73be004.png

4、修改自動生成的 CMakeLists.txt 檔案,注意原始碼路徑要根據情況調整

  cmake_minimum_required(VERSION 3.14)
    project(php_7_2_4)
    set(CMAKE_CXX_STANDARD 14)
    set(PHP_SOURCE /usr/local/src/php-7.2.4)
    include_directories(${PHP_SOURCE}/main)
    include_directories(${PHP_SOURCE}/Zend)
    include_directories(${PHP_SOURCE}/sapi)
    include_directories(${PHP_SOURCE}/pear)
    include_directories(${PHP_SOURCE}/TSRM)
    include_directories(${PHP_SOURCE})
    add_custom_target(makefile COMMAND make && make install WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})

5、設定執行引數

306c82112eddce1061fb5064dca9cd8.png

6、在 sapi/cli/php_cli.c 檔案中找到 main 函數,打斷點

7、點選 debug 之後就可以進行偵錯了

daa412ed8fb80ecc5b93f5777d18ef2.png

遇到的問題

iconv 未安裝,安裝後提示 「ld: symbol (s) not found for architecture x86_64」

解決方法:

編輯專案根路徑下的 Makefile, 修改 EXTRA_LIBS 變數,刪除 - liconv, 新增 /usr/local/opt/libiconv/lib/libiconv.dylib

以上就是Mac 下使用 clion 偵錯 PHP 核心原始碼的詳細內容,更多請關注TW511.COM其它相關文章!