• 提出问题:

    一个程序,部署在自己的电脑上,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. Python Requests库入门——应用实例-京东商品页面爬取+模拟浏览器爬取信息

    京东商品页面爬取 选择了一款荣耀手机的页面(给华为打广告了,荣耀play真心不错) import requests url = "https://item.jd.com/7479912.ht ...

  2. Scrum立会报告+燃尽图(十月二十八日总第十九次)

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2018fall/homework/2288 项目地址:https://git.coding.net/zhang ...

  3. 静默调用ShellContextMenu 实现QQ文件共享

    我在CSDN提问题一直没人回复,一下午时间自己终于解决了问题 http://bbs.csdn.net/topics/391916381 现将过程录下 先说需求,我想实现的功能是 在程序中对文件调用百度 ...

  4. 软工1816 · 第八次作业(课堂实战)- 项目UML设计(团队)

    本次作业博客 团队信息 队名:起床一起肝活队 原组长: 白晨曦(101) 原组员: 李麒 (123) 陈德斌(104) 何裕捷(214) 黄培鑫(217) 王焕仁(233) 林志华(128) 乐忠豪( ...

  5. Nginx 配置站点

    1-进入 配置文件夹   cd /etc/nginx/cof.d   2-创建一个一站点名称命名的配置文件   vim kestrel-syslyracom.conf   3-在.conf 文件中输入 ...

  6. ACM-ICPC 2018 沈阳赛区网络预赛

    Supreme Number 1000ms 131072K   A prime number (or a prime) is a natural number greater than 111 tha ...

  7. Struts2拦截器配置和使用

    拦截器是Struts2最强大的特性之一,它是一种可以让用户在Action执行之前和Result执行之后进行一些功能处理的机制. 说到拦截器interceptor,就会想到过滤器filter: 过滤器f ...

  8. session的基本原理

    转载:http://blog.sina.com.cn/s/blog_8155e74d0101iqmh.html 如何严格限制session在30分钟后过期! 1.设置客户端cookie的lifetim ...

  9. javascript 分号理解

    javascript自动填补分号的规则 在说要不要写分号之前,先了解一下javascript自动填补分号的规则. 在<javascript权威指南>中有一段话“如果一条语句以“(”.“[” ...

  10. chrome 常用插件集锦

    stylish 改变浏览器CSS样式