使用CLion和gdb server debug haproxy

准备Linux debug环境

笔者用的是centos 7

默认的编译套件即可

yum install cmake -y
yum install gcc-c++ -y
yum install gdb -y
yum install gdb-gdbserver -y

下载haproxy源码

GitHub - haproxy/haproxy at v1.0.0

使用haproxy的第一个版本,没有任何高级功能,方便入门

window环境和linux环境都下载haproxy源码

安装clion

从官网下载clion

CLion: A Cross-Platform IDE for C and C++ by JetBrains

linux开发环境启动gdbserver

在linux开发环境上编译haproxy

可以先看下haproxy的编译命令

CC = gcc
LD = gcc

COPTS = -O2 -g -DSTATTIME=0
LIBS =

# to compile under solaris, uncomment these two lines
#COPTS = -O2 -fomit-frame-pointer -DSOLARIS
#LIBS = -lnsl -lsocket

CFLAGS = -Wall $(COPTS)
LDFLAGS = -g

all: haproxy

haproxy: haproxy.o
  $(LD) $(LDFLAGS) -o $@ $^ $(LIBS)

%.o:  %.c
  $(CC) $(CFLAGS) -c -o $@ $<

clean:
  rm -vf *.[oas] *~ core haproxy test nohup.out gmon.out

分析 Makefile
gcc 编译参数:
-O2 是告诉 gcc 要进行优化 O是优化(Optimize) 2是优化等级
-g 是使生成的执行文件可以被 gdb 调试
-DSTATTIME=0 表示预定义宏STATTIME为0(不定义), -D 是预定义宏的选项
-Wall 表示开启所有警告(Warning)
 

  • 编译第一个版本
make
  • 修改haproxy配置

vim haproxy.cfg

listen http_proxy 0.0.0.0:3128
  mode    http
  dispatch 127.0.0.1:8080
  contimeout  3000
  clitimeout  15000
  srvtimeout  15000
  maxconn 2000
  retries 3

listen health 0.0.0.0:3130
  mode    health
  clitimeout  1500
  srvtimeout  1500
  maxconn 4

  • gdbserver启动haproxy

gdbserver :1234 ./haproxy -f haproxy.cfg

配置clion

可以开始愉快的debug haproxy了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值