服务器程序DEBUG

服务器端设定

Tomcat

默认我们启动Tomcat是使用下边的命令

./catalina.sh start 

如果想DEBUG的话,只需要加一个参数打开JPDA(Java Platform Debugger Architecture)就可以了

./catalina.sh jpda start

注:默认的监听端口是8000,如果想修改这个端口的话,可以修改环境变量JPDAADDRESS。 如果我们的服务器是通过daemon.sh启动的tomcat话,貌似没有找到默认打开JPDA的方法,我们可以环境变量CATALINAOPTS达到同样的效果

export CATALINA_OPTS="-agentlib:jdwp=transport=dt_socket,address=8088,server=y,suspend=n"

普通JAVA程序

我们可以在Java命令中加入如下参数

-Xdebug-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n

本地设定

在eclipse的“Run”菜单下选择“Debug...”菜单,在弹出的对话框左边的菜单中选择“Remote Java Application”菜单,右键点击,选择“New”,这个时候弹出一个需要填写参数的对话框。在弹出的框中,定义项目名称,选择要断点调试的项目,Connect type(默认Standard (Socket Attach)),定义我们的工程放在哪里,填写他的ip以及提供的服务端口号

参数说明

Xdebug

启用调试特性。

-Xrunjdwp:<sub-options>

在目标 VM 中加载 JDWP(Java 调试网络协议Java Debug Wire Protocol) 实现。它通过传输和 JDWP 协议与独立的调试器应用程序通信。下面介绍一些特定的子选项。 注,从 Java V5 开始,您可以使用 -agentlib:jdwp 选项,而不是 -Xdebug 和 -Xrunjdwp。但如果连接到 V5 以前的 VM,只能选择 -Xdebug 和 -Xrunjdwp。下面简单描述 -Xrunjdwp 子选项。

transport

这里通常使用套接字传输。但是在 Windows 平台上也可以使用共享内存传输。

server

如果值为 y,目标应用程序监听将要连接的调试器应用程序(VM端作为服务器)。否则,它将连接到特定地址上的调试器应用程序(eclipse端作为服务器)。

address

这是连接的传输地址。如果服务器为 n,将尝试连接到该地址上的调试器应用程序。否则,将在这个端口监听连接。

suspend

如果值为 y,目标 VM 将暂停,直到调试器应用程序进行连接。

参考文献

1.http://www.ibm.com/developerworks/cn/java/j-lo-jpda1/

2.http://jiangzhengjun.iteye.com/blog/683603

服务器程序DEBUG的更多相关文章

  1. 《用Java写一个通用的服务器程序》02 监听器

    在一个服务器程序中,监听器的作用类似于公司前台,起引导作用,因此监听器花在每个新连接上的时间应该尽可能短,这样才能保证最快响应. 回到编程本身来说: 1. 监听器最好由单独的线程运行 2. 监听器在接 ...

  2. Linux 高性能服务器编程——Linux服务器程序规范

    问题聚焦:     除了网络通信外,服务器程序通常还必须考虑许多其他细节问题,这些细节问题涉及面逛且零碎,而且基本上是模板式的,所以称之为服务器程序规范.     工欲善其事,必先利其器,这篇主要来探 ...

  3. Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用

    Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...

  4. python 之 Django框架(服务器程序和应用程序、基础必备三件套及相关配置)

    第十二章 Django框架 12.1 服务器程序和应用程序 服务器程序负责对socket服务器进行封装,并在请求到来时,对请求的各种数据进行整理.应用程序则负责具体的逻辑处理.为了方便应用程序的开发, ...

  5. 7 linux服务器程序规范

    1. Linux服务器程序一般以后台进程形式运行.后台进程又称守护进程(daemon),它没有控制终端,因而不会意外接收到用户输入.父进程通常为init(PID为1的进程)2. Linux服务器程序常 ...

  6. 服务器程序源代码分析之三:gunicorn

    服务器程序源代码分析之三:gunicorn 时间:2014-05-09 11:33:54 类别:网站架构 访问: 641 次 gunicorn是一个python web 服务部署工具,类似flup,完 ...

  7. Java实现Linux下服务器程序的双守护进程

    作者:Vinkn 来自http://www.cnblogs.com/Vinkn/ 一.简介 现在的服务器端程序很多都是基于Java开发,针对于Java开发的Socket程序,这样的服务器端上线后出现问 ...

  8. TCP客户/服务器程序概述

    一个回射服务器: 1)客户从标准输入读入一行文本,并写给服务器 2)服务器从网络输入读入这行文本,并回射给客户 3)客户从网络输入读入这行回射文本,并显示在标准输出上 回射输入行这样一个客户/服务器程 ...

  9. nodejs的简单服务器程序

    下面是参考<Jquery.Jquery UI 及Jquery Mobile>一书中的nodej服务器程序 var http = require('http'), url = require ...

随机推荐

  1. Windows服务器安全加固实战(Windows Server 2008 R2和Windows Server 2012)

    最近我们立方技术工作室在使用阿里云的过程中,发现服务器安全性也不是很高,而服务端的安全软件都很贵.为了为朋友们提供更加有效的解决方案,我们决定身体力行,高筑墙,大幅度提升服务器的安全防护级别! 主机安 ...

  2. Highcharts 饼图 文字颜色设置

    设置饼图对应的提示文字的颜色与饼图块状一样,demo如下: $(function () { $('#container').highcharts({ chart: { plotBackgroundCo ...

  3. iOS开发-UINavigationBar透明设置

    导航条最近需要设置成透明的形式,最开始想通过颜色clearColor设置,设置透明度,结果发现UINavigationItem无法显示显示,后来通过setBackgroundImage设置成功,不过会 ...

  4. Microsoft 参考源代码系统更新,有惊喜哦。

    在以前,MS的参考源代码在单步调试时时好用时不好用,最后我找到了原因,那就是如果想用MS的参考源代码进行单步调试,那么你就得想尽办法把系统上的.NET FX降级到RTM版本(卸载各种相关补丁),今天我 ...

  5. Metrics-Java版的指标度量工具之二

    接上<Metrics-Java版的指标度量工具之一> 4.       Histograms Histograms主要使用来统计数据的分布情况,最大值.最小值.平均值.中位数,百分比(75 ...

  6. objective-c(框架)

    框架指objective-c的foundation库,下面的例子中给出几个常见用的类及其方法. 数值对象 NSNumber *intNum; NSNumber *longNum; NSNumber * ...

  7. 【WEB】初探Spring MVC框架

    Spring MVC框架算是当下比较流行的Java开源框架.但实话实说,做了几年WEB项目,完全没有SpringMVC实战经验,乃至在某些交流场合下被同行严重鄙视“奥特曼”了.“心塞”的同时,只好默默 ...

  8. .net开发笔记(十三) Winform常用开发模式第一篇

    上一篇博客最后我提到“异步编程模型”(APM),之后本来打算整理一下这方面的材料然后总结一下写篇文章与诸位分享,后来在整理的过程中不断的延伸不断地扩展,发现完全偏离了“异步编程”这个概念,前前后后所有 ...

  9. Linux shell之打印输出

    介绍 经常需要和shell命令打交道,但是一直没有系统的学习,接下来会花1到2个月的时间系统的学习一下shell命令,接下来就开启shell命令的奇妙旅行吧.本章主要介绍shell的打印输出. 知识要 ...

  10. python 对象

    python 对象 在python中,对象就是为C中的结构体在堆上申请的一块内存,一般来说,对象是不能被静态初始化的,并且不能再栈空间上生存.本文主要对Python的基本数据类型做简单的介绍. PyO ...