c 语言调试方法(调试 PHP 底层、扩展)

目的

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打上断点调试。

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!