远程调试代码

http://blog.csdn.net/u011216981/article/details/50471264

一、服务器配置 
1 、调试masterserver端程序 
1)把脚本start-master-server.sh里的

MASTER_OPTIONS="${MASTER_MEMORY} -verbose:gc -XX:+UseConcMarkSweepGC"
  • 1

修改为

MASTER_OPTIONS="${MASTER_MEMORY} -verbose:gc -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8999"
  • 1

*这里的address只要确保当时这个端口没被占用即可,连接时要用到这个端口 
2 、调试tableterver端程序 
2)把start-tablet-server.sh里的

TABLET_OPTIONS="${TABLET_MEMORY} -verbose:gc -XX:+UseConcMarkSweepGC"
  • 1

修改为

TABLET_OPTIONS="${TABLET_MEMORY} -verbose:gc -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8998"
  • 1

*不一定每一个节点都要加上以上配置,想要调哪个,就加哪个

3.重启数据库服务 
查看日志出现

Listening for transport dt_socket at address: 8999
  • 1

表示等待监听

二、Eclipse端配置 
1.MasterServer.java类的配置如下,第1、2、3步 
点击Debug以后可以查看到服务端的masterserver进程启动了 

2.TabletServer.java类的配置和MasterServer.java一样,端口修改为8998即可