• about
  • blog
  • archive
  • tools
  • pros
  • press
  • paper
  xiaolin's blog
  • about
  • blog
  • archive
  • tools
  • pros
  • press
  • paper
  • mac&ios
  • leetcode
  • 安全
  • 业务
  • 源码分析
  • Redis
  • Apache/Nginx
  • Spring Boot
  • 项目管理
  • sketch
  • SQL
  • 任务调度
  • 设计模式
  • 消息队列
  • RPC
  • 大前端
  • iOS
  • LARAVEL
  • TCP/IP
  • UML
  • SERVICE MESH
  • CI/CD
  • OPS
  • LINUX
  • 系统编程
  • AWS
  • LUA
  • GIT
  • js
  • JAVA
  • 监控
  • VIM
  • PHP
  • OpenResty
  • SWOOLE
  • 消息队列
  • GDB
  • 规范
  • 三分钟系列
  • 一图胜千言
  • 帐号系统
  • 面试题
  • Yii/Yii2
  • python
  • GO
  • 机器学习
  • emacs
  • 商业智能
  • mac
  • 编辑器
  • 生产力工具
  • 驾照

使用gdb调试工具上手调试php和swoole源码

swoole作为php的核心项目,php和swoole都具有一定的研究价值,由于是c语言编写的项目,要上手进行调试,那么最好用的调试工具就是gdb了

这个gdb调试工具功能强大,支持的选项也是非常多,下面就总结出来常用的命令

编译源码添加调试信息

在编译时把调试信息编译进生成的二进制文件中,需要给gcc编译器加上-g参数,比如编译php的Makefile中是这样的

加上-g参数就已经有调试信息了,-O0是关闭gcc的优化,这个gcc优化后会在调试时丢失一部分调试信息,所以一般建议关闭

这样在gdb里面就可以随时查看当前执行到源码的那个地方了,能够显著提升调试的效率

查看源码

Read more   2019/5/18 posted in  GDB PHP SWOOLE 源码分析

xiaolin's blog

core tech share blog
juejin GitHub RSS

Categories

mac&ios leetcode 安全 业务 源码分析 Redis Apache/Nginx Spring Boot 项目管理 sketch SQL 任务调度 设计模式 消息队列 RPC 大前端 iOS LARAVEL TCP/IP UML SERVICE MESH CI/CD OPS LINUX 系统编程 AWS LUA GIT js JAVA 监控 VIM PHP OpenResty SWOOLE 消息队列 GDB 规范 三分钟系列 一图胜千言 帐号系统 面试题 Yii/Yii2 python GO 机器学习 emacs 商业智能 mac 编辑器 生产力工具 驾照

Recent Posts

  • html还原设计图开发心历路程
  • 用sketch原型工具3秒制作一个按钮
  • 三分钟制作一个iOS全局弹窗
  • OSX使用代码代替storyboard构建项目,并添加NSSplitView组件
  • linux系统编程之多进程和管道(pip)

Copyright © 2015 Theme used GitHub CSS. 访问人/ 次