`
iamzhongyong
  • 浏览: 796493 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java进行debug的几个小技巧

    博客分类:
  • java
阅读更多

关于debug,在很早之前看过一篇不错的文章(http://iamzhongyong.iteye.com/blog/1397374 ),转载了一下,

最近做项目,有些已经忘记了,整理几个技巧在这里。

但是,建议大家少做debug,debug是很耗时的操作。。。

 

1、远程debug(这个大家基本都会)

就是本机的eclipse来debug远程的java进程,需要两个步骤。

第一个:java进程启动的时候,加入可以debug的参数

(-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=n);

第二个:eclipse中新建一个remote java applicaiton,添加host和端口即可

 

2、远程启动时debug

有时候,是java进程启动的时候出现的问题,需要在启动时就开始debug,这时候咋搞呢?

java进程中有个参数,suspend=n  把n改成y,这时候,服务器会等待外部连接debug端口,连上了之后再进行JVM的启动操作

 

3、抛出异常时进行debug

顾名思义,就是在抛出异常的时候来断点,这个对于排查异常抛出的时候很有帮助。

在breakpoint视图,有个“J”这样的图标,选择这个,输入异常的类型,就可以开搞了

 

4、指定参数进行debug

尤其是for循环的时候,只有在特定的参数下才会处错误,如果逐个过滤过去,那其实是很费事的一件事情,所以有个办法,就是对于断点加条件

选择断点--然后选择属性--选择条件--开始写条件即可

 

5、运行的时候,怎么动态写代码

在debug的过程中,有时候有些逻辑没有,如果新加,这个断点可能就过去了,

或者服务器端还要重新部署,所以有临时写代码的需求,

这时候,可以打开"display"视图,在里面写代码,直接运行即可

 

有了这几个技巧,在debug的时候,效率会高很多。

 

 

2
1
分享到:
评论
2 楼 iamzhongyong 2013-08-21  
raph_java 写道
额,能搞些代码讲解么?

看文章里面的链接,那里面还有代码和图片,看了就一下子能明白的呵呵
1 楼 raph_java 2013-08-15  
额,能搞些代码讲解么?

相关推荐

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    这是因为某个servlet(服务器端Java程序)在应用户的请求而首次调入内存执行之后将一直驻留在内存里,对同一个servlet的后续请求不用再对这个servlet的类进行实例化,因此响应速度更快。 可是,servlet也存在一个...

    Toad 使用快速入门

    a) 打开存储过程编写器的几个途径: 单击总菜单栏上的第三个按钮:   点击Database - > Procedure Editor , 可以通过Schema browser来调用 b) 一些特点和优点: 1. 强大的自定义设置:从保留字的显示方式...

    editplus 代码编辑器html c++ jsp css

    由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘组合: Ctrl+F = 调出查找对话框 Ctrl+H = 调出替换对话框 Alt+F4 = 关闭作用,比如,关闭查找...

    EditPlus 2整理信箱的工具

    由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘组合: Ctrl+F = 调出查找对话框 Ctrl+H = 调出替换对话框 Alt+F4 = 关闭作用,比如,关闭查找...

    Editplus 3[1].0

    由于基本无法编辑录制的文件,所以录制的时候为了避免录制失败,推荐纯粹使用键盘操作,以下是比较关键的几个键盘组合: Ctrl+F = 调出查找对话框 Ctrl+H = 调出替换对话框 Alt+F4 = 关闭作用,比如,关闭查找...

    C#微软培训资料

    第三章 编写第一个应用程序 .20 3.1 Welcome 程序 .20 3.2 代 码 分 析 .20 3.3 运 行 程 序 .23 .4 添 加 注 释 .25 3.5 小 结 .27 第二部分 C#程序设计基础.28 第四章 数 据 类 型 .28 4.1 值 类 型...

    adb1.0.26包含fastboot.exe

    遇到多设备/模拟器的情况均使用这几个参数为命令指定目标设备,下文中为简化描述,不再重复。 启动/停止 启动 adb server 命令: adb start-server (一般无需手动执行此命令,在运行 adb 命令时若发现 adb server...

    VC与Labview、Matlab编程论文资料[2].rar

    这是VC与Labview、Matlab编程论文资料,全部为pdf格式,讲述有VC编程技巧、也有VC与Labview混合编程, VC与matlab混合编程,有365个,约500M,分成4个【独立】压缩包,如果想要全部的论文则需要下载全部压 缩包,...

    VC与Labview、Matlab编程论文资料

    这是VC与Labview、Matlab编程论文资料,全部为pdf格式,讲述有VC编程技巧、也有VC与Labview混合编程, VC与matlab混合编程,有365个,约500M,分成4个【独立】压缩包,如果想要全部的论文则需要下载全部压 缩包,...

    VC与Labview、Matlab编程论文资料[4].rar

    这是VC与Labview、Matlab编程论文资料,全部为pdf格式,讲述有VC编程技巧、也有VC与Labview混合编程, VC与matlab混合编程,有365个,约500M,分成4个【独立】压缩包,如果想要全部的论文则需要下载全部压 缩包,...

Global site tag (gtag.js) - Google Analytics