• 提出问题:

    一个程序,部署在自己的电脑上,debug调试,相信大家都会,但是,如果我想debug调试非本地部署的程序怎么办呢。比如测试服务器上部署的程序。

其实这样的需求也是经常有的,比如一个大型的项目有很多模块,也有很多自己的或外部的依赖,不可能在自己电脑上整个都搭建一整套完整的环境。先不管有多复杂,有时候公司的电脑配置再不给力,部署一个大型程序更是雪上加霜。通常这样的程序都是直接部署到专门的开发或测试环境里面。很少在自己电脑上部署测试。再加上运用像jenkins这样的自动化的部署工具,部署只是点几下按钮的事儿。不比在本地起一个tomcat多出多少工作。就更没有必要在本地部署程序测试了。包括开发自测和测试人员的测试。当然这只是说的稍微大一点的项目。一个小的独立的项目在本地部署测试还是很方便的。

    好了,言归正传,既然部署到其它地方,想debug一步一步地调试就不能像在本地部署一样了。也就是文章一开始提出的问题。

  • 解决问题:

    其实解决起来也很简单,

    • 设置tomcat

      在目标程序运行的tomcat的catalina.sh文件中加上

      JAVA_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=26310"

                                                                  当然这可能只是启用远程debug的最少配置,这些启动参数当然可以跟其它JVM参数一块设置。像常见的设置堆内存大小,垃圾收集器,gc日志打印,堆栈转储等等的参数。

      好了,这就是目标tomcat需要做的所有设置了,简单吧。注意这里设置的address=26310,这是本地和远程程序通信的端口,要和后来在IDE工具中设置的一致。做完这些工作,就差不多成功一半了。

    • IDEA 设置

      点击如图位置

      

    再点击"Edit Configurations..."

      

    出现如下界面,再点击左上角的加号

      

    出现如下图的界面,点击Remote

      

      如图所示

      

      

      

    设置完了点击apply

    想要远程调试就点击如图的位置选择你刚才设置好的

    然后点击debug按钮就可以在你的机器上打断点调试你的远程部署的代码了

    

    当出现下面如图内容就说明成功了

    

  • 其它IDE工具我不怎么用,就不知道怎么设置了,需要的自己研究下。

插播个广告


老丈人家的粉皮儿,农产品,没有乱七八糟的添加剂,欢迎惠顾
 

IDEA调试服务器上部署的程序的更多相关文章

  1. 远程编写+调试服务器上的Python程序

    原帖参见(需自备梯子):https://webcache.googleusercontent.com/search?q=cache:1htdR2EXj5wJ:https://www.digitaloc ...

  2. weblogic上部署应用程序

    weblogic上部署应用程序有三种方法: 一:修改配置文件config.xml在文件中加入如下代码片段: <app-deployment> <name>FAB</nam ...

  3. 在 Ubuntu 14.04 服务器上部署 Hexo 博客

    版权声明:本文由宋秉金 原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/241080001487926962 来源:腾云阁  ...

  4. (数据科学学习手札66)在ubuntu服务器上部署shiny

    一.简介 shiny是R中专门用于开发轻量级web应用的框架,在本地写一个shiny应用并调用非常方便,但如果你希望你的shiny应用能够以远程的方式提供给更多人来使用,就需要将写好的shiny应用部 ...

  5. .Net Core WebApi(二)在Windows服务器上部署

    上一篇学习到了如何简单的创建.Net Core Api和Swagger使用,既然写了接口,那么就需要部署到服务器上才能够正式使用.服务器主要用到了两种系统,Windows和Linux,.Net和Win ...

  6. Django项目在Linux服务器上部署和躺过的坑

    引言 在各方的推荐下,领导让我在测试环境部署之前开发的测试数据预报平台.那么问题来了,既然要在服务器上部署, 就需要准备: 1.linux服务器配置 2.linux安装python环境搭建与配置 3. ...

  7. IIS 7 Web服务器上部署ASP.NET网站(转)

    IIS 7 Web服务器上部署ASP.NET网站小记 摘自:http://swanmsg.blog.sohu.com/162111073.html 网上查找了很久关于iis7配置asp.net配置问题 ...

  8. 在IIS服务器上部署svg/woff/woff2字体

    在url没错的前提下,字体文件报404错误,如.woff,.woff2 出错原因: IIS不认SVG,WOFF/WOFF2这几个文件类型 解决方案: 在IIS服务器上部署svg/woff/woff2字 ...

  9. .net 禁止远程查看应用程序错误的详细信息,服务器上出现应用程序错误

    打开页面时出现以下错误   "/"应用程序中的服务器错误. 运行时错误 说明: 服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止远程查看应用程序错误的详细信息(出于安全 ...

随机推荐

  1. EXT4+Struts2 JSON的问题

    ERROR : Class org.apache.struts2.json.JSONWriter can not access a member of class org.springframewor ...

  2. OSG学习:阴影代码示例

    效果图: 代码示例: #include <osgViewer/Viewer> #include <osg/Node> #include <osg/Geode> #i ...

  3. (七)对Jmeter进行参数化的俩种方式

    一.使用CSV Data Set Config: 1.添加CSV Data Set Config: 2.配置参数: Filename:文件名,指保存参数化数据的文件目录,可以相对或者绝对路径. Fil ...

  4. window redis php(必须版本>=5.4) 安装

    1.下载redis的win版客户端 下载地址: http://code.google.com/p/servicestack/wiki/RedisWindowsDownload 2.选择32bit,64 ...

  5. excel copy cell & batch operation & checkbox

    excel copy cell & batch operation & checkbox excel 右下角,下拉/双击 (复制 cell) 注意: 不是选择列

  6. wireshark系列之wireshark简介

    前言:为什么要学wireshark?工欲善其事必先利其器,wireshark是一款工具软件,主要作用是抓取数据封包,可以帮助我们更加直观更加具象的学习各种网路协议(http.TLS.TCP.UDP.I ...

  7. 【JavaScript】时间戳转日期格式

    时间戳: 1480570979000 $.ajax({ url : "getOrderMsg?shiplabel="+ shiplabel, type : "get&qu ...

  8. 《转》理解Object.defineProperty的作用

    对象是由多个名/值对组成的无序的集合.对象中每个属性对应任意类型的值.定义对象可以使用构造函数或字面量的形式: var obj = new Object; //obj = {} obj.name = ...

  9. 对于最近的一些日常总结by520(17.10.18)

    ---天天考试,各种题型都有,学到了很多新的知识,也发现了自己的许多不足---1.首先,自己的搜索需要加强,特别是广搜,10.18的T1裸广搜没有做对.2.数学的思维和一些逻辑问题需要加强,然后就是要 ...

  10. Python下json中文乱码解决办法

    json.dumps在默认情况下,对于非ascii字符生成的是相对应的字符编码,而非原始字符,只需要 #coding=utf8 import json js = json.loads('{" ...