Eclipse 下调试Tomcat6源码(转)

  原地址:http://denger.iteye.com/blog/834121

近期对 Tomcat 的一些原理机制产生了兴趣,于是便下载源码进行 DEBUG 来一探究竟~
    TOMCAT_6_0_18.zip 包下载地址: http://pan.baidu.com/s/1mgGcPug
    下载解压后的目录结构:

很明显它是基于 ANT 来构建,直接通过

  Eclipse -> New -> Java Project form
Existing Ant Buildfile 直接选择 TOMCAT_6_0_18下面的 build.xml
文件,

然后在列出来的 task 中的 target 选择 complie 即可导入工程。


     还没有完,他的编译还依赖了四个 jar 文件,分别是:

   ant.jar、 jaxrpc.jar
、org.eclipse.jdt.core_3.8.3.v20130121-145325.jar、wsdl4j-1.5.1.jar,需要将这四个 jar
文件引入进去。

OK了,接下来直接在Eclipse 中的 Debug Configurations 中加入一个启动 Tomcat 的
Appliction.

具体在 Java Application 中加入Main启动项,选择刚才导入的 Tomcat 6.0项目(实际名字Bootstrap),

Main
class 填写 org.apache.catalina.startup.Bootstrap  启动类,

Arguments :

    在
Program arguments 填写  start ,

    在 VM arguments 中填写 tomcat home
的路径(源码路径),如:-Dcatalina.home="E:\tomcat-src\TOMCAT_6_0_18"。

如下图所示:

配置好后,直接 Apply 并且 Debug,这时候直接启动会出现如下异常:
---此段本人没有测试

Java代码  

  1. java.lang.ClassNotFoundException: listeners.ContextListener
  2. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645)
  3. at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491)

原因是因为在 tomcat 中的 webapps 中有一个 example 的 webapp, 在这个 app 的
web.xml 配置了 listeners.ContextListener 的监听,而这个类在它 classpath 中不存在。解决办法是将
example 直接删除,反正也不影响 debug。

至此已经完成了 Tomcat 的部署,接下来要去开始 DEBUG了~  ........

时间: 2024-09-30 18:35:22

Eclipse 下调试Tomcat6源码(转)的相关文章

Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)

一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和Cydia Substrate,来进行关键方法的hook.所以这里我们可以看到我们破解的第一步是使用ap

Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)

一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和Cydia Substrate,来进行关键方法的hook.所以这里我们可以看到我们破解的第一步是使用ap

VS2010下调试.NET源码

微软走向开源,是时候用vs去单步调试进入源码了.参考地址:http://blog.csdn.net/waxgourd0/article/details/6600182 可供参考的文章:https://msdn.microsoft.com/en-us/library/Cc667410.aspx 1.工具- 选型 – 调试 - 常规,按照下图修改我框起来的地方: 2.工具- 选项 – 调试 - 符号,按照下图进行配置: 这里注意你只需要在位置里添加http://referencesource.mic

eclipse下导入jdk源码

一直想好好看看jdk的源码,虽然可以直接解压jdk下的src看,但是终究不方便!后来发现可以导入到eclipse中,就在网上找了一些方法,下面就和大家分共享: step1:打开eclipse选择Window->Preference step2:选择Java->Installed JREs step3:选中你所安装的jre,点击Edit,进入Edit JRE,如下所示 step4:选中rt.jar,点击Source Attachment step5:在对话框中,点击External Folder

Eclipse下建立geoserver源码工程

1.http://geoserver.org/download/下载源码 例子:http://sourceforge.net/projects/geoserver/files/GeoServer/2.5.2/geoserver-2.5.2-src.zip 2.下载Maven( http://maven.apache.org/download.cgi )选择apache-maven-3.21-bin.zip,maven是命令行程序,将下载得到的压缩包解压,在使用时临时指定PATH变量即可. 3.打

Eclipse下查看Hadoop源码

1.新建一个java project 2.把hadoop源码解压出来,再到src目录下把,src下的core.hdfs.mapred文件夹复制出来 3.把复制出来的三个文件夹,粘贴到  java project 的src下 4.把src去掉,右键Properties 找到 5.添加资源文件夹 6.加入依赖的jar 包.去 7.找到hadoop源码所在的磁盘,把lib下的全部jar包导入到项目中来,包括jsp-2.1的文件夹下的 8.添加ant.jar的jar包 完成导入可以查看hadoop的源码

eclipse远程调试hadoop源码

1.调试环境 1.1 远程linux运行的hadoop 1.2 本地windows的eclipse中导入hadoop源代码 1.3 本地windows的eclipse中有hadoop的自己写的代码 2.步骤 2.1修改远程linux运行的hadoop程序的hadoop-env.sh, 把第21行注释掉,增加一行代码 export HADOOP_NAMENODE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=9090,server=y,su

eclipse下查看jdk源码

打开eclipse,点 "window"-> "Preferences" -> "Java" -> "Installed JRES"   此时"Installed JRES"右边是列表窗格,列出了系统中的 JRE 环境,选择你的JRE,然后点边上的 "Edit...", 会出现一个窗口(Edit JRE)   选中rt.jar文件的这一项:"c:\progra

Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码)

一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为了安全或者效率问题,会把一些重要的功能放到native层,那么这样一来,我们前篇说到的Eclipse调试smali源码就显得很无力了,因为核心的都在native层,Android中一般native层使用的是so库文件,所以我们这篇就来介绍如何调试so文件的内容,从而让我们破解成功率达到更高的一层.