`
wusuoya
  • 浏览: 641251 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

使用 intellij idea 进行远程调试

阅读更多

以前都是很土得打 log ,发现一篇关于 java 调试器架构 ,以及 eclipse 上使用 的文章,在常用的 intellij idea 以及 tomcat 上调试成功,结合调用堆栈希望可以加快 ``how tomcat works`` 读书进度。

 原理: http://blog.csdn.net/alli0968/article/details/42176721

1. tomcat 7.0.5 启动支持调试

 

新建文件 setenv.bat

 

Java代码  收藏代码
  1. SET CATALINA_OPTS=-server -Xdebug -Xnoagent   
  2. -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000  

 

 放入 tomcat 下 bin/ 中(和 startup.bat)同级。

 

2. 点击 startup.bat 启动,控制台输出调试支持日志表示成功配置:

 

Java代码  收藏代码
  1. Listening for transport dt_socket at address: 8000  

 

3. idea remote debug 配置

 

打开已有的 web 类型项目,设置运行配置

 

 

找到 remote 子项,选择新增配置

 

 

输入项目名称,端口设置 tomcat 配置的 8000,并选择源码所在模块,调试模式为 attach

 

 

 

 

点击 ok 关闭设置窗口

 

4. 在源码上设置断点后,点击调试按钮

 

 

 

 

 

 

调试窗口输出

 

Java代码  收藏代码
  1. Connected to the target VM, address: 'localhost:8000', transport: 'socket'  

 

表示正常连上了远端(localhost)服务器。

 

5.启动调试

 

使用浏览器访问对应服务器应用,启动调试,运行到客户端断点时,就可以查看当前帧变量与堆栈信息了:

 

 

 

再进一步关联 tomcat 源码 则可以了解到请求在 servlet 容器中的一系列转发过程了。

分享到:
评论

相关推荐

    IntelliJ远程调试教程.doc

    本教程将详细介绍如何使用IntelliJ IDEA进行远程调试,帮助开发者解决远程环境中程序运行时出现的问题。 #### 二、基础知识 ##### 2.1 远程调试概念 远程调试是指在本地开发环境中控制并调试部署在远程服务器上的...

    IntelliJ IDEA 中文指南.pdf

    此外,文档还介绍了Java热部署插件JRebel的安装与使用,以及远程调试方法,例如通过Tomcat和Jetty。 ### 快捷键详解 针对快捷键的使用,文档分别详细讲解了Windows与Linux环境下、Mac环境下的常用快捷键。此外,还...

    IntelliJ IDEA 使用教程

    ### IntelliJ IDEA 使用教程知识点概述 #### 一、IntelliJ IDEA简介 - **定义与特点**:IntelliJ IDEA是一款由JetBrains公司开发的强大且功能全面的集成开发环境(Integrated Development Environment, IDE)。它...

    IntelliJ IDEA 2020.1.4 x64官方

    4. **框架与库支持**:IntelliJ IDEA对Spring、Hibernate、AngularJS、React等流行框架有深度集成,提供模板、快捷键和调试工具,方便开发者使用。 5. **项目导航**:通过Project视图,开发者可以轻松浏览项目结构...

    Java最强编译器 Intellij IDEA 使用教程

    IntelliJ IDEA 提供了丰富多样的快捷键,覆盖了编辑、查找/替换、编译/运行、调试、导航、重构、版本控制等几乎所有开发环节。熟练掌握快捷键可以大幅提高编码速度和效率。 ### 新特性介绍 随着版本更新,IntelliJ ...

    Intellij idea高效使用教程_Intellijidea高效使用教程_

    本教程将深入讲解如何高效地使用IntelliJ IDEA进行Java项目开发。 1. **安装与配置** - 下载与安装:访问JetBrains官网下载最新版的IntelliJ IDEA,按照向导进行安装。 - 配置环境:确保系统已经安装了Java JDK,...

    IDEA远程调试.docx

    IDEA远程调试是指在IntelliJ IDEA中对Java项目进行远程调试的过程。远程调试是基于不同的JVM可通过接口的协议联系,让本地的Java文件与远程JVM建立联系和通信的原理。下面将详细介绍IDEA远程调试的原理、配置和使用...

    idea远程调试代码(图文详细)

    ### IDEA远程调试Java代码详解 #### 一、背景介绍 在进行软件开发的过程中,经常会遇到需要对部署在远程服务器上的程序进行调试的情况。传统的做法是在代码中添加日志输出语句来定位问题,但这不仅效率低下,而且...

    Idea远程调试代码JDK1.8

    这里我们将详细讲解如何在Idea中远程调试使用JDK 1.8的代码。 首先,你需要确保你的Idea版本支持远程调试功能。在这个例子中,使用的Idea版本是2018,这意味着它应该具备完整的远程调试能力。远程调试的基本步骤...

    Intellij IDEA教程.pdf

    通过导入旧版的settings目录(默认位于C:\Users\{User}\.IntelliJIdea12目录下),可以将这些配置直接应用到新安装的版本中,这样可以避免重复进行配置和安装插件的工作。之后,用户可以选择需要的版本控制插件。...

    最新IntelliJ IDEA入门图文教程整理完整版

    - 配置运行/调试配置,如Java应用程序、Web应用、远程调试等。 - 支持打包为可执行JAR或WAR文件,方便部署。 11. **集成开发工具** - IntelliJ IDEA集成了许多开发工具,如Maven、Gradle构建工具,JUnit测试框架...

    Intellij IDEA基于Springboot的远程调试(图文)

    下面将详细介绍Intellij IDEA基于Springboot的远程调试的配置和使用方法。 一、远程调试的定义和作用 远程调试是指在远程服务器上运行服务端程序,而在本地设置断点,以便在远程服务器收到请求时能知道远程服务端...

    IDEA远程调试SpringBoot项目.pdf

    下面详细讲解如何使用IDEA远程调试SpringBoot项目。 首先,要开始远程调试,需要在远程服务器上运行Java应用程序时加上JVM参数来开启调试模式。JVM参数`***piler=NONE -Xrunjdwp:transport=dt_socket,server=y,...

    Intellij idea远程debug连接tomcat实现单步调试

    使用 IntelliJ IDEA 远程 debug 连接 Tomcat 实现单步调试可以带来许多优点,例如可以远程 debug 连接 Tomcat 服务器,实时地检查变量的值和状态,快速地找到程序的错误,也可以对程序进行逐步调试,检查每一行代码...

    IntelliJ IDEA 2018新手入门教程

    本教程旨在帮助初学者快速掌握IntelliJ IDEA 2018.3.2版本的基本使用方法,涵盖软件的安装配置、基础设置、Java SE/Web项目的创建与调试、Maven与Git/SVN集成等方面的内容。 #### 二、下载与安装 1. **下载**: ...

    IntelliJ IDEA使用手册.zip

    7. **运行与部署**:了解如何配置和运行应用,包括本地运行、远程调试和部署到服务器。 8. **插件管理**:IntelliJ IDEA支持大量插件,可以扩展其功能,如Lombok插件、Docker插件等。手册会介绍如何安装和管理这些...

    IDEA,Eclipse远程调试应用

    IntelliJ IDEA远程调试项目配置 #### 2.1 选择Edit Configurations... 在IntelliJ IDEA中,首先需要打开运行/调试配置界面。可以通过点击界面上方的"Add New Configuration"或使用快捷键`Alt+Insert`打开。 ####...

    IntelliJ-IDEA-Tutorial, IntelliJ IDEA 简体中文专题教程.zip

    5. **调试与测试**:教授如何设置断点、单步执行、查看变量值、进行远程调试,以及使用JUnit等框架进行单元测试和集成测试。 6. **运行与部署**:讲解如何配置运行/调试配置,运行应用程序,以及部署到服务器,如...

Global site tag (gtag.js) - Google Analytics