Mac 下使用 clion 调试 PHP 内核源码

2020-07-29 21:41:45
操作步骤

1、下载源码

2、安装

./configure --prefix = 指定安装路径 --with-config-file-path = 指定配置文件读取路径 --with-iconv = 指定 iconv 安装的路径 --enable-debugmake && 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

相关文章 大家在看