- 浏览: 200539 次
文章分类
最新评论
-
code_xiaoke:
session可是有30分钟有效期的还有如果在分布式的环境下 ...
Java Web 用户登陆示例代码 -
xul0038:
http://www.baidu.com
Java Web 用户登陆示例代码 -
16866:
非常棒,配置信息呢
Nginx负载均衡 -
开发小菜:
什么意思,没明白?能不能写一个例子
JS 实现DIV随浏览器窗口大小变化
1、条件断点
断点大家都比较熟悉,在Eclipse Java编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。
条件断点,顾名思义就是一个有一定条件的断点,只有满足了用户设置的条件,代码才会在运行到断点处时停止。
在断点处点击鼠标右键,选择最后一个"Breakpoint Properties"
断点的属性界面及各个选项的意思如下图:
2、变量断点
断点不仅能打在语句上,变量也可以接受断点,
上图就是一个变量的打的断点,在变量的值初始化,或是变量值改变时可以停止,当然变量断点上也是可以加条件的,和上面的介绍的条件断点的设置是一样的。
3、方法断点
方法断点就是将断点打在方法的入口处,
方法断点的特别之处在于它可以打在 JDK的源码里,由于 JDK 在编译时去掉了调试信息,所以普通断点是不能打到里面的,但是方法断点却可以,可以通过这种方法查看方法的调用栈。
4、改变变量值
代码停在了断点处,但是传过来的值不正确,如何修改一下变量值保证代码继续走正确的流程,或是说有一个异常分支老是进不去,能不能调试时改一下条件,看一下异常分支代码是否正确?
在Debug 视图的 Variables 小窗口中,我们可以看到 mDestJarName 变量的值为 " F:\Study\eclipsepro\JarDir\jarHelp.jar "
我们可以在变量上右键,选择"Change Value..." 在弹出的对话框中修改变量的值,
或是在下面的值查看窗口中修改,保用Ctr+S 保存后,变量值就会变成修改后的新值了。
5、重新调试
这种调试的回退不是万能的,只能在当前线程的栈帧中回退,也就说最多只能退回到当前线程的调用的开始处。
回退时,请在需要回退的线程方法上点右键,选择 "Drop to Frame"
6、远程调试
用于调试不在本机上的程序,有两种方式,
1、本机作为客户端
2、本机作为服务端
使用远程调试的前提是服务器端和客户端的代码是一致的。
本机作为客户端
本机作客户端比较常用,需要在远端的服务器上的java程序在启动时打开远程调试开关,
服务器端需要加上虚拟机参数
1.5以前版本(1.5以后也可用):【-Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 】
1.5及以上版本:【 -agentlib:jdwp=transport=dt_socket,server=y,address=8000】
F:\Study\eclipsepro\screensnap>java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 -jar screensnap3.jar
连接时远程服务器时,需要在Eclipse中新建一个远程调试程序
这里有一个小地方需注意,连接上的时候貌似不能自动切换到Debug视图,不要以为本机的调试程序没有连接到服务器端。
本机作为服务端
同本机作为客户端相比,只需要修改一下“Connection Type”
这时Eclipse会进入到等待连接的状态
连接程序使用如下参数即可连接本机服务器,IP地址请用实现IP替换~~
【-agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000】
F:\Study\eclipsepro\screensnap>java -agentlib:jdwp=transport=dt_socket,suspend=y,address=127.0.0.1:8000 -jar screensnap3.jar
远程调试时本地的代码修改可同步到远程,但不会写到远程的文件里,也就是说本地修改会在下次启动远程程序时就没有了,不会影响到下次使用时的远程代码。
7、异常断点
经常遇见一些异常,然后程序就退出来了,要找到异常发生的地方就比较难了,还好可以打一个异常断点,
上图中我们增加了一个NullPointException的异常断点,当异常发生时,代码会停在异常发生处,定位问题时应该比较有帮助。
发表评论
-
java实现动态切换上网IP (ADSL拨号上网) java开发
2013-04-24 10:06 1302动态切换IP的实现主是也由Windows的rasdial命令提 ... -
JAVA字符串处理函数
2013-04-12 09:21 1152Java中的字符串也是一连串的字符。但是与许多其他的计算机语 ... -
(转)Lucene打分规则与Similarity模块详解
2013-02-06 14:08 1211搜索排序结果的控制 Lu ... -
Compass将lucene、Spring、Hibernate三者结合
2013-02-01 11:02 1679版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声 ... -
Lucene3.0详解
2013-02-01 10:57 1420★第一部分:概述 1. 我 ... -
Java Web 用户登陆示例代码
2013-02-01 09:56 58118实现功能: 1、用户登陆、注销 2、利用session记 ... -
Java对数函数及Java对数运算
2013-02-01 09:47 6799Java对数函数的计算方法非常有问题,然而在API中却有惊人 ... -
Lucene为不同字段指定不同分词器(转)
2013-01-31 17:34 3476在lucene使用过程中,如 ... -
域名管理与解析原理 — 《Java邮件开发详解》读书笔记
2013-01-31 14:56 1724一 基本概念 1. 域名:域名是由圆点分开一串单词或缩写组 ... -
优秀的Java工程师需要掌握的10项技能
2013-01-31 14:04 1864编程专业相对于计算机领域其他专业来讲,是一门比较难以修炼的专业 ... -
Web开发入门不得不看
2013-01-28 17:31 1036如今,各种互联网的Web ... -
MVC框架的映射和解耦
2013-01-25 21:37 836最近在写一个业务上用到的框架,回想起接触过的一些MVC框架, ... -
JAVA发送EMAIL的例子
2013-07-09 09:44 907import javax.mail.*; ... -
SSH + Lucene + 分页 + 排序 + 高亮 模拟简单新闻网站搜索引擎
2012-11-19 09:55 1388前两天看到了一个中国新闻网,这个网站的搜索form的actio ... -
Lucene多字段搜索
2012-11-19 09:53 1043最近在学习Lucene的过程中遇到了需要多域搜索并排序的问题, ... -
lucene之sort
2012-11-16 15:06 1096package cn.zqh.lucene.sort; im ... -
Nginx负载均衡
2012-11-16 11:45 7669最近迷上了Nginx,真实麻雀虽小,五脏俱全..功能实在强大. ... -
Lucene相关度排序的调整
2012-11-16 11:38 1732Lucene的搜索结果默认按 ... -
HashSet重复元素判断
2012-10-15 16:37 9143HashSet不能添加重复的元素,当调用add(Object) ... -
JAVA提高教程(2)-认识Set集合之HashSet
2012-10-09 09:44 976集合在Java里面的作用非 ...
相关推荐
在一个 1 、 2 百万行的系统中找 Bug ,我依然在用 System.out ,当时最痛苦的就是修改代码,每次找到疑似 Bug ,就输出一下,然后重启(那时也不知道代码热替换),直到有一天带我的导师发现了这样笨笨的调试 ...
断点调试是另一种常用的调试方法。断点是你在代码中设定的一个标记,当执行到这一行时,程序会暂停,让你有机会检查此时的变量状态或执行流程。设置断点通常只需点击行号或在代码行前插入特殊符号(如在IDE中)。你...
除了错误报告,打印语句(如`print`或`var_dump`)是另一种常用的调试手段。通过在代码中插入打印语句,可以查看变量的实时状态,以追踪代码执行流程和查找难以发现的bug。 在开发环境中,使用集成开发环境(IDE)...
标题 "一些与代码质量有关的eclipse插件" 暗示了我们即将探讨的是如何利用Eclipse集成开发环境中的插件来提升代码的质量。Eclipse是一个强大的Java开发工具,而插件则能够扩展其功能,帮助开发者检测和修复代码中的...
通过熟练掌握这些调试技巧,开发者可以更有效地找到和修复Android应用中的bug,提高开发效率。同时,理解源代码的工作原理也有助于优化性能和提升用户体验。在实际工作中,不断实践和学习新的调试方法是持续提升编程...
针对Eclipse的高级用户,掌握一些高级技巧将极大提升开发效率,如自定义工作集保存常用项目组合、创建多个工作区以适应不同项目需求、以及优化Eclipse性能等。同时,了解常见问题的解决方案,如解决CVS文件下载失败...
Java反编译工具是开发人员在处理Java字节码时常用的一种工具,它能够将已编译的.class文件转换回可读的源代码格式,帮助开发者理解或逆向工程现有的Java程序。JAD(Java Decompiler)就是这样一个工具,它提供了方便...
根据提供的标题“调试 debug 方法”和描述“程序员调试bug的方法”,本文将重点介绍软件开发过程中常用的调试技巧与方法。由于给定的部分内容未提供具体的技术细节或实例,本篇文章将基于这些标题和描述来展开讨论。...
1. 常用插件:介绍Eclipse Marketplace中的一些常用插件,如Mylyn(任务管理)、PMD(代码检查)、FindBugs(bug检测)等。 2. 自定义插件:学习如何开发自己的Eclipse插件,以满足特定的开发需求。 六、团队协作 ...
### Eclipse IDE 中的关键快捷键与编辑技巧 #### 引言 Eclipse 是一款非常流行的集成开发环境(IDE),尤其在 Java 开发领域有着广泛的使用。本文将深入介绍 Eclipse 中的一些重要快捷键及其功能,帮助开发者提高...
- **定义**:一种常用的排除bug的方法,通过逐步执行代码,逐步定位问题所在。 - **实践技巧**: - 明确故障范围:缩小排查范围,避免无谓的搜索。 - 记录调试过程:记录调试过程及结果,便于复盘和分享经验。 - ...
在Android系统开发中,深入理解并调试源码是提升应用性能和优化用户体验的关键步骤。...总的来说,这是一种在Android系统源码调试中常用的技巧,对于开发者深入理解Android系统及其内部应用的运作机制具有重要意义。
本文将详细介绍如何在 Eclipse 环境下进行 Android 程序的调试工作,包括基本的调试技巧、日志记录、以及使用 JUnit 进行单元测试的方法。 #### 二、日志记录 在开发过程中,日志记录是一种非常有效的调试手段。它...
本教程旨在帮助初学者理解程序调试的基本概念,并掌握一些常用的调试技巧。 #### 二、调试基础知识 ##### 1. 什么是调试? 调试是指定位并修复程序运行中出现的问题的过程。这些问题可能来自于代码逻辑错误、语法...
下面我们将深入探讨代码调试的基本概念、常用方法以及一些实用技巧。 首先,我们要理解什么是代码调试。代码调试是一种系统性的找出并修复源代码中错误的过程。这些错误通常被称为“bug”,它们可能导致程序崩溃、...
同时,可能提到了一些常用的J2ME开发工具,如NetBeans、Eclipse或者J2ME Wireless Toolkit (J2ME WTK),这些工具在调试和测试J2ME应用时十分关键。 【压缩包子文件的文件名称列表】:“game”可能意味着讨论的BUG与...