ElasticSearch源码远程调试模式,亲测可用

2024-05-13 02:32

本文主要是介绍ElasticSearch源码远程调试模式,亲测可用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

基本流程按照官方文档执行。尤其是工具版本,对于初学者不要乱改动。

git clone https://github.com/elastic/elasticsearch.git
cd elasticsearch 
git checkout --track origin/6.6./gradlew idea #可以理解为idea编译,一般问题均出在jdk版本./gradlew run --debug-jvm #这一步可以理解为源码编译wget https://www.jetbrains.com/idea/download/download-thanks.html?platform=linux&code=IIC
tar zxvf ideaIC-2020.1.tar.gz
cd ideaIC-2020.1
./bin/idea.sh #启动ide工具,然后按照官方文档导入源码和环境#文档中Run -> Attach to Process,执行成功后,如果想调试curl命令,则需要先断开执行下面的操作:
# Run -> Edit Configuratons -> + -> Remote,得到一个Run/Debug Configurations页面
# Name自己设置,HOST默认localhost,如果是真正的远程调试则设置服务器所在的ip,Port设置8000 (因为./gradlew run --debug-jvm 启动的默认Port是8000)
# 其它项均不要改动,点击ok。如果正常控制台会打印显示连接成功。
#在文件/server/src/main/java/org/elasticsearch/rest/RestController.java中的下述行(174)设置断点。
#这是elasticsearch处理web请求的入口类,收到curl请求时就会停在这里
tryAllHandlers(request, channel, threadContext); # 至此环境均准备好了,再开一个终端界面:
curl -i -XGET 'localhost:9200/' #随便执行一句curl指令,此时ide中程序就会停在断点处

这样,我们就可以愉快的debug了。

这篇关于ElasticSearch源码远程调试模式,亲测可用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/984430

相关文章

一文详解Git中分支本地和远程删除的方法

《一文详解Git中分支本地和远程删除的方法》在使用Git进行版本控制的过程中,我们会创建多个分支来进行不同功能的开发,这就容易涉及到如何正确地删除本地分支和远程分支,下面我们就来看看相关的实现方法吧... 目录技术背景实现步骤删除本地分支删除远程www.chinasem.cn分支同步删除信息到其他机器示例步骤

Python远程控制MySQL的完整指南

《Python远程控制MySQL的完整指南》MySQL是最流行的关系型数据库之一,Python通过多种方式可以与MySQL进行交互,下面小编就为大家详细介绍一下Python操作MySQL的常用方法和最... 目录1. 准备工作2. 连接mysql数据库使用mysql-connector使用PyMySQL3.

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

IDEA如何实现远程断点调试jar包

《IDEA如何实现远程断点调试jar包》:本文主要介绍IDEA如何实现远程断点调试jar包的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录问题步骤总结问题以jar包的形式运行Spring Boot项目时报错,但是在IDEA开发环境javascript下编译

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

Kali Linux安装实现教程(亲测有效)

《KaliLinux安装实现教程(亲测有效)》:本文主要介绍KaliLinux安装实现教程(亲测有效),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载二、安装总结一、下载1、点http://www.chinasem.cn击链接 Get Kali | Kal

C#实现访问远程硬盘的图文教程

《C#实现访问远程硬盘的图文教程》在现实场景中,我们经常用到远程桌面功能,而在某些场景下,我们需要使用类似的远程硬盘功能,这样能非常方便地操作对方电脑磁盘的目录、以及传送文件,这次我们将给出一个完整的... 目录引言一. 远程硬盘功能展示二. 远程硬盘代码实现1. 底层业务通信实现2. UI 实现三. De

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx

Redis高可用-主从复制、哨兵模式与集群模式详解

《Redis高可用-主从复制、哨兵模式与集群模式详解》:本文主要介绍Redis高可用-主从复制、哨兵模式与集群模式的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录Redis高可用-主从复制、哨兵模式与集群模式概要一、主从复制(Master-Slave Repli

Android实现一键录屏功能(附源码)

《Android实现一键录屏功能(附源码)》在Android5.0及以上版本,系统提供了MediaProjectionAPI,允许应用在用户授权下录制屏幕内容并输出到视频文件,所以本文将基于此实现一个... 目录一、项目介绍二、相关技术与原理三、系统权限与用户授权四、项目架构与流程五、环境配置与依赖六、完整