Elasticsearch源码远程与本地调试

java版本-1.8
elasticsearch版本-6.1.2
gradle版本-4.6
备注:调试前请先在自己IDEA中导入与部署节点版本相同的elasticsearch源码;另外下文中提到的IDEA快捷键都是在WIN10系统下操作。

一、源码本地调试

1、BEBUG配置

在这里插入图片描述

// VM options:
-Des.path.home=C:\Users\11416\Desktop\project\elasticsearch\elasticsearch-6.1.2\eshome
-Des.path.conf=C:\Users\11416\Desktop\project\elasticsearch\elasticsearch-6.1.2\eshome\config
-Xms1g
-Xmx1g
-Dlog4j2.disable.jmx=true
-Djava.security.policy=C:\Users\11416\Desktop\project\elasticsearch\elasticsearch-6.1.2\eshome\config\elasticsearch.policy
// elasticsearch.policy文件内容:
grant{
    permission javax.management.MBeanTruxtPermission "register";
    permission javax.management.MBeanServerPermission "createMBeanServer";
    permission javax.lang.RuntimePermission "createClassLoader";
};

eshome配置的内容-从对应版本的官方二进制包中复制:
在这里插入图片描述

2、启动调试

在这里插入图片描述

3、使用postman调用接口进行功能源码调试

http://127.0.0.1:9200/test-index/graph/_bulk
{"index":{"_id":"123"}{}}
{"id":123,"test":"test"}

在这里插入图片描述
IDEA CONSOLE打印的日志:
在这里插入图片描述
源码DEBUG(继续DEBUG流程(使用postman调用接口访问集群,在对应功能处设置断点):
在这里插入图片描述

二、源码远程调试

1、BEBUG配置

// jvm.options(修改远程节点的配置文件重启节点)
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

在这里插入图片描述

2、启动调试

// 单击DEBUG启动调试(远程调试,停止调试不会终止远程节点)
// CONSOLE OUTPUT:
Connected to the target VM, address: 'localhost:5005', transport: 'socket'

3、使用postman调用接口进行功能源码调试

在这里插入图片描述

4、设置代码书签

选中当前代码行,按F11设置代码书签。按SHIFT+F11打开代码书签并且为书签添加备注。(书签的功能类似我们平常使用的书签的概念,起到备忘录的作用)
在这里插入图片描述

5、设置断点组

CTRL+SHIFT+F8打开断点组设置。
在这里插入图片描述

6、继续DEBUG流程

使用postman调用接口访问集群,在对应功能处设置断点。(远程DEBUG调试不会停止远程节点)
在这里插入图片描述

发布了173 篇原创文章 · 获赞 113 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/superman_xxx/article/details/97810061
今日推荐