Cassandra2.x源码阅读与分析(一)Eclipse下Debug
2015-01-31 22:53
288 查看
阅读和分析各模块之前,首先应将Cassandra在IDE下面跑起来,IDE作为Debug工具和代码阅读工具,有助于跟踪流程、提高效率。
1、源码获取
(1)获取Source压缩包:http://cassandra.apache.org/
(2)git:http://git.apache.org/ → https://github.com/apache/cassandra
2、Build
(1)Cassandra需要Ant来构建,Ant获取:http://ant.apache.org/bindownload.cgi
(2)Windows上:执行cmd,再到源码所在目录下,执行:ant.bat build
——期间会联网下载一些依赖jar包,最后等待构建成功
(3)构建成功后,再执行:ant.bat generate-eclipse-files,会生成eclipse工程文件
3、将上述工程导入eclipse(这步不再敖述)
4、配置Debug参数,主要是设置VM参数,参数如下(可根据自己的实际情况做修改):
-ea -javaagent:${project_loc}/lib/jamm-0.2.8.jar
-XX:+UseThreadPriorities
-XX:ThreadPriorityPolicy=4
-Xms150M
-Xmx1000M
-Xmn188M
-XX:+HeapDumpOnOutOfMemoryError
-Xss200k
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=1
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-Djava.net.preferIPv4Stack=true
-Dcom.sun.management.jmxremote.port=7199
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false5、设置断点,启动Debug模式,开启源码之旅吧,有图有真相,\(^o^)/~
注:cassandra的守护进程main函数在CassandraDaemon.java中
--------------------------------------------------------------------------------------------------------------------
参考资料:http://wiki.apache.org/cassandra/HowToDebug
1、源码获取
(1)获取Source压缩包:http://cassandra.apache.org/
(2)git:http://git.apache.org/ → https://github.com/apache/cassandra
2、Build
(1)Cassandra需要Ant来构建,Ant获取:http://ant.apache.org/bindownload.cgi
(2)Windows上:执行cmd,再到源码所在目录下,执行:ant.bat build
——期间会联网下载一些依赖jar包,最后等待构建成功
(3)构建成功后,再执行:ant.bat generate-eclipse-files,会生成eclipse工程文件
3、将上述工程导入eclipse(这步不再敖述)
4、配置Debug参数,主要是设置VM参数,参数如下(可根据自己的实际情况做修改):
-ea -javaagent:${project_loc}/lib/jamm-0.2.8.jar
-XX:+UseThreadPriorities
-XX:ThreadPriorityPolicy=4
-Xms150M
-Xmx1000M
-Xmn188M
-XX:+HeapDumpOnOutOfMemoryError
-Xss200k
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
-XX:SurvivorRatio=8
-XX:MaxTenuringThreshold=1
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
-Djava.net.preferIPv4Stack=true
-Dcom.sun.management.jmxremote.port=7199
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false5、设置断点,启动Debug模式,开启源码之旅吧,有图有真相,\(^o^)/~
注:cassandra的守护进程main函数在CassandraDaemon.java中
--------------------------------------------------------------------------------------------------------------------
参考资料:http://wiki.apache.org/cassandra/HowToDebug
相关文章推荐
- GRUB0.93 源码阅读分析---新的开始(1)
- SGI STL 源码阅读和分析 (1)
- MongoDB源码阅读之ReplSet源码分析
- HDFS2.X源码分析之:NameNode读文件原理
- HDFS2.X源码分析之:NameNode块报告处理
- CppUint源码阅读与分析(1)
- MongoDB源码阅读之Shard源码分析--CongfigServer启动
- tcmalloc源码阅读(三)---ThreadCache分析之线程局部缓存
- [hadoop源码阅读][6]-org.apache.hadoop.ipc-protocol和心跳分析
- HDFS2.X源码分析之:NameNode写文件原理
- mina框架源码阅读与分析
- 分布式文件系统KFS源码阅读与分析(二):MetaServer元数据持久化
- 分布式文件系统KFS源码阅读与分析(三):RPC实现机制(MetaServer端)
- 分布式文件系统KFS源码阅读与分析(三):RPC实现机制(MetaServer端)
- cassandra源码分析(0.5)
- GRUB0.93 源码阅读分析(分析asm.S、commen.c)---(3)
- 分布式系统Hadoop源码阅读与分析(一):作业调度器实现机制
- 分布式文件系统KFS源码阅读与分析(四):RPC实现机制(KfsClient端)
- HDFS2.X源码分析之:NameNode对几种块的处理方式
- TCMalloc源码阅读(二)--线程局部缓存ClassSize分析