java的debug调试方法,linux怎么debug调试java代码

本文目录一览:

如何在Eclipse中Debug调试Java代码

步骤

首先打开eclipse,打开java源文件 如图:

在需要测试的代码行左侧行号列上双击,生成断点 ,再次双击可以取消断点 如图:

然后右键,选择Debug As-Java Application,(注意,不是选择Run As)

开始调试java程序 如图

有可能会弹出提示框(表示是否进入调试视图)点击确定就可以了

然后会进行调试视图,如图:

左侧上部是整个正常线程执行情况,右侧上部是刚才设置断点的行号列表.

在左侧上部有几个按钮需要注意如图:

这些按钮就是我们调试时的控制按钮 分别表示:

step into(快捷键F5)进入当前行的方法内部,一步一步执行

step return (快捷键F7)返回上一步执行的方法(相对应F5)

step over(快捷键F6)执行当前行,但不进入执行细节

resume (快捷键F8)恢复执行,表示接着执行代码,直接跳到下一个断点

terminate 停止调试

常用调试方法:按F8跳到下一个断点执行 如果需要查询执行细节F5F6F7等

取消断点的话:在右侧上部的断点列表区取消选择或删除当前断点即可

java调试中debug怎么用

最基本的操作是:

1.首先在一个java文件中设断点,然后debug as--open debug Dialog,然后在对话框中选类后-- Run

当程序走到断点处就会转到debug视图下。

2.F5键与F6键均为单步调试,F5是step into,也就是进入本行代码中执行,F6是step over,

也就是执行本行代码,跳到下一行,

3.F7是跳出函数

4.F8是执行到最后。

1.Step Into (also F5) 跳入

2.Step Over (also F6) 跳过

3.Step Return (also F7) 执行完当前method,然后return跳出此method

4.step Filter 逐步过滤一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step Filtering)

5.resume 重新开始执行debug,一直运行直到遇到breakpoint

6.hit count 设置执行次数 适合程序中的for循环(设置 breakpoint view-右键hit count)

7.inspect 检查运算。执行一个表达式显示执行值

8.watch 实时地监视变量的变化

9.我们常说的断点(breakpoints)是指line breakpoints,除了line

breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method

breakpoint,exception breakpoint.

10.field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂

11.添加method breakpoint 进入/离开此方法时暂挂(Run-method breakpoint)

12.添加Exception breakpoint 捕抓到Execption时暂挂(待续…)

断点属性:

1.hit count 执行多少次数后暂挂 用于循环

2.enable condition 遇到符合你输入条件(为ture\改变时)就暂挂

3.suspend thread 多线程时暂挂此线程

4.suspend VM 暂挂虚拟机

13.variables 视图里的变量可以改变变量值,在variables 视图选择变量点击右键–change value.一次来进行快速调试。

14.debug 过程中修改了某些code后–〉savebuild–resume–重新暂挂于断点

—————————————————————————————————————————————————————

调试运行的快捷键:

Shift+Alt+D 弹出菜单后按J:Java程序调试

Shift+Alt+D 弹出菜单后按R:在Web Server上调试

Shift+Alt+D 弹出菜单后按Q:Ant Build调试

调试过程中的快捷键:

F6:单步执行Step Over。 通常如果不关心该语句的调用细节,单步执行就可以了。

F5:跟入Step into。一般会跟踪进入到调用函数的函数体,Step Over则不会跟踪进入,直接把调用当做一个语句处理。

F7:返回到调用处Step Return。如果无意Stepinto了一个不需要关心的函数,或者没有必要再对某个函数跟踪了,直接F7返回到调用语句处。

F8:运行至下一断点Resume。

调试中需要关心的是断点和变量。掌握一定的设置断点技巧是必须的。

1、如何跳过一段循环

有的时候跟踪代码执行,无意中进入了循环中,看了几次发现没什么问题了。是不是要StepOver到循环结束呢,或许你会Step Return,那么循环下面的代码就跟踪不到了。这时候就要利用Resume这个有趣的特性了。

去掉旧断点(循环体内的),增加新断点(循环体外),然后Resume(F8)。

2、如何调试递归调用

还是要巧用F7(StepReturn)、F8(Resume)这两个键。

另外别忘了Debug模式中的Expressions视图(Window-show view- Expressions)

把你关心的递归变量的表达式都add进来吧,这样看起来就比Variable轻松多了。

Expressions不仅支持显示运算结果、数组元素,还可以显示方法返回值。你只需要将你关心的表达式写进来就可以了。

返回上一层递归,使用F7。跳过循环使用上面的方法。

还有巧设断点。直接让光标运行到你需要关注的地方。

在Expressions中添加能区分递归层次的表达式,这样你看起来就不会乱(不知道调用到哪一层了)。

北大青鸟java培训:软件开发人员解决bug的方法?

每个软件开发人员都会遇到bug,那bug是什么呢?当软件开发人员能够测试标准后发掘的问题成为bug。

那么解决bug的方法有哪些呢?电脑培训建议首先软件开发人员需要掌握怎样快速定位,之后修改程序就可以了。

一、断点调试:1、打断点:打断点、清除断点。

2、启动调试模式的两种方式:一是通过debugas启动调试程序;二是在程序运行时,DDMS视图下选取要调试的程序,启动调试模式。

3、调试:可使用F5、F6、F7、F8快捷键。

4、通过watch查看成员变量。

二、打印调试:?打印调试对于循环、JNI等代码段很有效,循环时越发管用。

三、目视法:?适用codereview,但毕竟人为的,多打一个点,都会出现问题,不过代码量少的时候很好用。

四、自动化测试:?Android程序开发自动化测试工具有:monkey、Robotium、Appium、云端测试。

五、排除法:?当遇到随机问题时可使用排除法检验,先大概定位问题点,再用代码一点点注释,查看变化,渐渐缩小问题范围。

如何调试JAVA程序?(主要是步骤)

1.在你觉得有错的地方设置断点2.点击甲壳虫一样的按钮下面的子按钮,也是甲壳虫一样的,叫Debug3.运行程序,当程序运行到刚才设置断点的位置就会停下来,并且那行代码底色会高亮显示。4.接着你在如下界面你可以看到你想要的信息5.在Variables里面可以查看所有变量的值,比如刚才设置的断点里面的strClassName的值就可以看到。 6.下面按钮第一个是进入方法执行,比如你调用了其他方法,可以进入方法一步一步执行,如果点击第二个按钮,只会在本方法内一步一步执行,第三个按钮时你跳出此方法,继续执行调用这个方法的原方法。7下面这个按钮时直接执行完程序。8差不多就这些了,还有不明白可以继续QQ咨询我~

java中怎样使用debug

debug模式初始需要3个步骤:第一个是将模式调成debug模式;第二个就是以debug模式启动;第三设置断点 ok了

原创文章,作者:VIMO,如若转载,请注明出处:https://www.506064.com/n/145041.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
VIMOVIMO
上一篇 2024-10-26 11:54
下一篇 2024-10-26 11:54

相关推荐

  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • ArcGIS更改标注位置为中心的方法

    本篇文章将从多个方面详细阐述如何在ArcGIS中更改标注位置为中心。让我们一步步来看。 一、禁止标注智能调整 在ArcMap中设置标注智能调整可以自动将标注位置调整到最佳显示位置。…

    编程 2025-04-29
  • 解决.net 6.0运行闪退的方法

    如果你正在使用.net 6.0开发应用程序,可能会遇到程序闪退的情况。这篇文章将从多个方面为你解决这个问题。 一、代码问题 代码问题是导致.net 6.0程序闪退的主要原因之一。首…

    编程 2025-04-29
  • Python基础代码用法介绍

    本文将从多个方面对Python基础代码进行解析和详细阐述,力求让读者深刻理解Python基础代码。通过本文的学习,相信大家对Python的学习和应用会更加轻松和高效。 一、变量和数…

    编程 2025-04-29

发表回复

登录后才能评论