怎样调试Tomcat源码

技术怎样调试Tomcat源码怎样调试Tomcat源码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。今天以Tomcat源码为例,来总结下源码调试的方式。例

如何调试Tomcat源代码,针对这个问题,本文详细介绍了相应的分析和解答,希望能帮助更多想要解决这个问题的朋友找到更简单更容易的方法。

今天以Tomcat源代码为例,总结一下源代码调试的方式。

比如问题处理的过程,大致就是发现问题、分析问题、解决问题。我们简单总结一下源代码的调试:

获取源代码

Tomcat的源代码可以通过多种方式下载。

从github(https://github.com/apache/tomcat)下载

从Tomcat的SVN服务器下载(http://svn.apache.org/repos/asf/tomcat/)

从Tomcat官方网站(http://tomcat.apache.org/download-80.cgi)下载

在每个版本的下载页面下方,都会有一个对应的源代码压缩包供下载,如下图所示。

将源代码导入集成开发环境

每个开发人员都应该对这项工作没有问题,所以我们写得太多了。

添加相关性

导入IDE后,很多文件会提示红色X,表示依赖jar文件丢失。此时,您可以添加系统中已有的相关文件。如果使用这个Maven表单来组织项目,可以直接添加相应的依赖项。

运行应用程序

在这一步中,您需要找到应用程序的入口,即Main-Class,然后执行该类。当然,有些应用程序在运行时需要必要的输入参数,Tomcat需要指定catalina.home。

这种门户应用程序可以通过以下方式找到:

如果应用程序是以jar文件的形式提供的,那么它的META-INF目录中就会有一个。

MANIFEST。MF文件。

如果没有在jar文件中指定,或者应用程序是以脚本的形式启动的,可以从脚本中找到默认的执行类,例如Tomcat的启动脚本catalina.bat就包含这样的内容:

set MAINCLASE=org . Apache . catalina . startup . bootstrap

以上述方式确定主类后,根据需要配置相应的VM参数和应用程序自己的参数,代码就会运行。然后,根据您想要了解的内容,设置断点并启动调试程序。

这些都是一般的步骤,具体到Tomcat,我们来讲一个具体的方法。

工程形式的调试

以Eclipse为例

首先,创建一个工程Java项目。

导入源文件,这里可以有以下几种方式:

全部抄进去。

作为链接源引入。(右键单击项目,然后在构建路径中选择链接源)

将Tomcat lib下已安装的jar文件添加到项目依赖项中,然后添加其他必需的jar文件,如ant.jar

设置主类

设置参数

单击调试,程序正在运行,然后开始调试。

在附加模式下调试

构建一个新项目并导入源代码。此时,可以在调试模式下启动Tomcat。为了在第一时间将代码附加到进程,有必要在jpda启动后设置自动暂停并等待应用程序连接。

可以直接在脚本文件catalina.bat中设置

设置JPDA _ OPTS=-agentlib : jdwp=TRANSPORT=% JPDA _ TRANSPORT %,address=%JPDA_ADDRESS%,server=y,suspend=%JPDA_SUSPEND%

您可以直接将上面的红色内容更改为y,也可以先在命令行上进行设置。

然后执行命令。

catalina.bat jpda start

的默认连接端口是8000。

之后可以通过远程调试直接进行项目。

此时,您可以调试Tomcat的源代码。如果您想在启动时跟踪进程,可以在引导中添加断点并开始调试。

关于如何调试Tomcat源代码的问题的答案就分享到这里了,希望。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/138485.html

(0)

相关推荐

  • 如何使用pt工具校验修复主从

    技术如何使用pt工具校验修复主从这篇文章主要为大家展示了“如何使用pt工具校验修复主从”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用pt工具校验修复主从”这篇文章吧。

    攻略 2021年11月2日
  • MySQL 8.0是不是可以操作JSON

    技术MySQL 8.0是不是可以操作JSON本篇文章给大家分享的是有关MySQL 8.0是不是可以操作JSON ,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧

    攻略 2021年10月20日
  • PyTorch中的数据并行处理是怎样的

    技术PyTorch中的数据并行处理是怎样的PyTorch中的数据并行处理是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。通过 PyTorch 使用

    攻略 2021年12月4日
  • 绩点换算,5分制绩点怎么换算成百分制

    技术绩点换算,5分制绩点怎么换算成百分制您好绩点换算,澳大利亚留学研究生申请条件:国内211大学,大学平均成绩75分以上;非211大学,平均成绩80分以上;目前八大里的西澳大学,阿德莱德大学都是算加权平均分,不算马哲或者

    生活 2021年10月23日
  • 信息安全工程师-软考中级-备考笔记:第十一章 网络物理隔离技术原理与应用

    技术信息安全工程师-软考中级-备考笔记:第十一章 网络物理隔离技术原理与应用 信息安全工程师-软考中级-备考笔记:第十一章 网络物理隔离技术原理与应用第11章 网络物理隔离技术原理与应用
    网络物理隔离概

    礼包 2021年11月14日
  • TP6管理后台实战第五天-文章管理

    技术TP6管理后台实战第五天-文章管理 TP6管理后台实战第五天-文章管理第五天目标:
    1、文章管理进入开发:
    1、文章分类管理1.1 文章分类列表 -- ok搜索项: 分类名称 分类状态列表项:ID,

    礼包 2021年10月27日