怎样调试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)

相关推荐

  • Web开发者易犯的严重错误有哪些

    技术Web开发者易犯的严重错误有哪些小编给大家分享一下Web开发者易犯的严重错误有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1. “

    攻略 2021年11月6日
  • 类似 SQL 的查询的 Pandas

    技术类似 SQL 的查询的 Pandas 类似 SQL 的查询的 Pandas我已经编译了几个如何使用 pandas 查询函数的示例。下面的屏幕截图包含了带有查询的有用示例的摘要。下面,您可以看到如何同

    礼包 2021年11月13日
  • MySQL中的InnoDB索引优化方法是什么

    技术MySQL中的InnoDB索引优化方法是什么这篇文章主要介绍“MySQL中的InnoDB索引优化方法是什么”,在日常操作中,相信很多人在MySQL中的InnoDB索引优化方法是什么问题上存在疑惑,小编查阅了各式资料,

    攻略 2021年12月4日
  • 氧气的化学符号,氧气的化学符号在电脑上怎么打呀

    技术氧气的化学符号,氧气的化学符号在电脑上怎么打呀1氧气的化学符号、要输入上、下标,有两种更快捷的方法:方法一;使用格式刷:在文件中选择已输入好的上标或下标,然后单击“格式刷”图标,光标变成了一个刷子的形状,在需要设置的

    生活 2021年10月25日
  • thinkphp6教程(thinkphp6实例教程)

    技术thinkphp6.0.7中如何使用JWT本篇内容介绍了“thinkphp6.0.7中如何使用JWT”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希

    攻略 2021年12月15日
  • Rhel7_Oracle11g_rac安装方法是什么

    技术Rhel7_Oracle11g_rac安装方法是什么这篇文章主要讲解了“Rhel7_Oracle11g_rac安装方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学

    攻略 2021年11月4日