使用 intellij idea 进行远程调试
转自:http://yiminghe.iteye.com/blog/1027707
以前都是很土得打 log ,发现一篇关于 java 调试器架构 ,以及 eclipse
上使用 的文章,在常用的 intellij idea 以及 tomcat 上调试成功,结合调用堆栈希望可以加快 ``how tomcat works`` 读书进度。
1. tomcat 7.0.5 启动支持调试
新建文件 setenv.bat
- SET CATALINA_OPTS=-server -Xdebug -Xnoagent
放入 tomcat 下 bin/ 中(和 startup.bat)同级。
2. 点击 startup.bat 启动,控制台输出调试支持日志表示成功配置:
3. idea remote debug 配置
打开已有的 web 类型项目,设置运行配置

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

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

点击 ok 关闭设置窗口
4. 在源码上设置断点后,点击调试按钮

调试窗口输出
- Connected to the target VM, address: 'localhost:8000', transport: 'socket'
表示正常连上了远端(localhost)服务器。
5.启动调试
使用浏览器访问对应服务器应用,启动调试,运行到客户端断点时,就可以查看当前帧变量与堆栈信息了:

再进一步关联 tomcat 源码 则可以了解到请求在 servlet 容器中的一系列转发过程了。
使用 intellij idea 进行远程调试的更多相关文章
- 图文并茂教你学会使用 IntelliJ IDEA 进行远程调试
1. 前言 今天线上出现了个 Bug ,而且比较坑的是涉及到微信相关的东西不能线下调试.传统方式是在代码中各种的日志 log 埋点然后重新部署进行调试,再根据 log 中的信息进行分析.如果你的 lo ...
- eclipse/intellij idea 远程调试hadoop 2.6.0
很多hadoop初学者估计都我一样,由于没有足够的机器资源,只能在虚拟机里弄一个linux安装hadoop的伪分布,然后在host机上win7里使用eclipse或Intellj idea来写代码测试 ...
- IntelliJ IDEA 远程调试
远程调试服务器是一个比较实用的技巧,以便我们能够迅速定位线上问题.本文会介绍如何在IntelliJ IDEA中进行远程调试. 配置IntelliJ IDEA 选择Edit Configurations ...
- IntelliJ远程调试教程
概述 对于分布式系统的调试不知道大家有什么好的方法.对于我来说,在知道远程调试这个方法之前就是在代码中打各种log,然后重新部署,上线,调试,这样比较费时.今天咱们来了解了解Java远程调试这个牛逼的 ...
- IntelliJ IDEA远程调试(Debug)Tomcat
为什么需要这么做? 解决 在我本地是好的啊 这个世界性难题- 测试环境碰到问题,直接连上debug,不用再测试本地,再查看测试环境日志 遇到一些诡异的问题,日志是看不出端倪的 调试一些只能在测试环境执 ...
- Intellij IDEA 配置Tomcat远程调试
一.前言 在服务器端开发过程中,由于服务器环境差异导致运行结果不符合预期. 所以就需要到IDEA Debug 服务器代码.看起来貌似很高大上的事情. 今天就说说使用Intellij IDEA 配置的方 ...
- IntelliJ IDEA远程调试运行中的JAVA程序/项目
一.IntelliJ IDEA配置 1.添加一个运行配置(remote项) 2.打开remote项配置对话框 3.远程jvm参数配置提示 4.远程调试的ip地址和端口号,ip就是java项目所在机器i ...
- 使用IntelliJ IDEA进行Python远程调试的需求(未完)
使用IntelliJ IDEA进行Python远程调试的需求(未完) 在研究深度学习Machlearning时,有时候需要借助ubuntu搭建的tensorflow环境,另外也有越来越多的运算程序只能 ...
- 二十八、详述 IntelliJ IDEA 远程调试 Tomcat 的方法
在调试代码的过程中,为了更好的定位及解决问题,有时候需要我们使用远程调试的方法.在本文中,就让我们一起来看看,如何利用 IntelliJ IDEA 进行远程 Tomcat 的调试. 首先,配置remo ...
随机推荐
- linux环境下编译php扩展
1.使用ext_skel工具生成扩展框架 ./ext_skel --extname=myext 2.编辑config.m4文件 cd myext/vim config.m4 去掉以下内容的注释: PH ...
- Crazy Computer
ZS the Coder is coding on a crazy computer. If you don't type in a word for a cconsecutive seconds, ...
- Java中的内存泄露
- B树就想到这个
比如要查找60 先在根结点中查,根结点里面有 17 35这2个关键字, 60 > 35,则从右边开始查找 p3指针开始查找 , 到了第二层的最右边的那个结点开始查找 , 里面有 65 8 ...
- scylladb docker 运行试用
scylladb 是兼容cassandra 的数据存储系统,从官方的性能报告,比原生的apache cassandra 有好多 的提高 使用docker 运行,具体的也可以参考官方文档,后边会提供 ...
- MongoDB注册Windows服务启动
下载MongoDB安装到:E:\Work_App\MongoDB 这个目录 安装:E:\Work_App\MongoDB (安装在专门的目录中) 配置: 1.在E:\Work_App\MongoDB\ ...
- Composer 技巧(以 FastAdmin 项目为基础)(2018-12-25 更新)
Composer 技巧(以 FastAdmin 项目为基础) 查看 FastAdmin 所有的已安装的 php 组件,如果不加 i 就是查看 composer.json 里的组件. composer ...
- php preg_replace空格无法替换问题
一次坑爹的小bug.读取一段文字(编码utf-8),想替换掉空格,str_replace(" "..).preg_replace("/\s/"..)都不起作用. ...
- JVM内存模型(一)
主要澄清之前对JVM内存模型的一些误区: JMV内存主要分为5块:方法区(Method Area),堆区(Heap),虚拟机栈(VM stack),本地方法栈(Native Method stack) ...
- RK3288 wifi模块打开或关闭5G信号
CPU:RK3288 系统:Android 5.1 如果硬件使用的wifi模块支持5G,则系统设置中打开wifi,除了会搜索到普通的2.4G信号,还会搜索到xxx_5G信号. 如果路由器开了5G信号, ...