如何远程调试kafka server,如何debug kafka server,kafka server如何打断点

JDAP是一种非常有用的Java远程调试技术

程序支持以JPDA方式启动的附件参数如下:

-Xdebug -Xrunjdwp:transport=[color=blue]dt_socket[/color],address=[color=blue]8000[/color],server=y,suspend=n

调试kafka server需要一般都需要远程调试;所以启动kafka服务的时候,需要开启jvm的jpda
通过分析kafka的启动脚本
kafka-run-class.sh
发现kafka已经支持jpda启动

# Set Debug options if enabled
if [ "x$KAFKA_DEBUG" != "x" ]; then

    # Use default ports
    DEFAULT_JAVA_DEBUG_PORT="9898"

    if [ -z "$JAVA_DEBUG_PORT" ]; then
        JAVA_DEBUG_PORT="$DEFAULT_JAVA_DEBUG_PORT"
    fi

    # Use the defaults if JAVA_DEBUG_OPTS was not set
    DEFAULT_JAVA_DEBUG_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=${DEBUG_SUSPEND_FLAG:-n},address=$JAVA_DEBUG_PORT"
    if [ -z "$JAVA_DEBUG_OPTS" ]; then
        JAVA_DEBUG_OPTS="$DEFAULT_JAVA_DEBUG_OPTS"
    fi

    echo "Enabling Java debug options: $JAVA_DEBUG_OPTS"
    KAFKA_OPTS="$JAVA_DEBUG_OPTS $KAFKA_OPTS"
fi

if条件可以看出只要设置KAFKA_DEBUG的值就可开启jpda启动
所以可以修改启动脚本或者直接设置变量:
export KAFKA_DEBUG=“Y”
完成kafka jpda启动。就可以愉快的远程锻炼调试了
以idea为例,直接增加remote
在这里插入图片描述

然后debug启动连接就可以啦
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值