使用 Eclipse 平台进行调试 及快捷键

使用 Eclipse平台进行调试 及快捷键

原文地址:http://hi.baidu.com/v522zy/item/21897650347cfa08e6c4a594

Eclipse调试器和 Debug视图

Eclipse SDK是针对 Java™开发工具(Java™ Development ToolsJDT)的项目,它具有一个内置的 Java调试器,可以提供所有标准的调试功能,包括分步执行、设置断点和值、检查变量和值、挂起和恢复线程的功能。除此之外,还可以调试远程机器上运行的应用程序。Eclipse平台很健壮,因为其他编程语言可以将该平台提供的调试工具用于各自的语言运行时。正如下文所示,同一个Eclipse Debug视图也可以用于 C/C++ 编程语言。

Eclipse平台工作台及其工具是围绕 JDT组件构建的,该组件为 Eclipse 提供了下列特性:

  • 项目管理工具
  • 透视图和视图
  • 构造器、编辑器、搜索和构建功能
  • 调试器

Eclipse调试器本身是 Eclipse内的一个标准插件集。Eclipse 还有一个特殊的 Debug视图,用于在工作台中管理程序的调试或运行。它可以显示每个调试目标中挂起线程的堆栈框架。程序中的每个线程都显示为树中的一个节点,Debug视图显示了每个运行目标的进程。如果某个线程处于挂起状态,其堆栈框架显示为子元素。

在使用 Eclipse调试器之前,假定您已经安装了合适的 Java SDK/JRE(我推荐使用 Java VM V1.4)和 Eclipse Platform SDK V3.3,而且两者的运行都没问题。一般来说,先用 Eclipse示例测试一下调试选项比较好。如果想开发和调试 C/C++ 项目,还需要获得并安装 C/C++开发工具(C/C++ Development ToolsCDT)。关于 Java SDK/JREEclipse平台和示例以及 CDT,请参阅 参考资源。 图 1 显示了 Debug 透视图的一般视图。
1. Eclipse Debug透视图的一般视图

调试 Java语言程序

在可以调试项目前,需要干净地编译和运行代码。首先,需要为应用程序创建一个运行配置,确保应用程序可以正确启动。然后,需要通过Run > Debug菜单以类似的方式设置调试配置。还需要选择一个类,将它作为调试的主 Java 类来使用(请参见图 2)。您可以按照自己的意愿为单个项目设置多个调试配置。当调试器启动时(从Run > Debug),会在一个新的窗口中打开,这时就可以开始调试了。
2.在调试配置中设置项目的主 Java

接下来,将讨论 Eclipse中的一些常用调试实践。

设置断点

在 启动应用程序进行调试时,Eclipse会自动切换到 Debug 透视图。毫无疑问,最常见的调试步骤是设置断点,这样可以检查条件语句或循环内的变量和值。要在 Java透视图的 Package Explorer 视图中设置断点,双击选择的源代码文件,在一个编辑器中打开它。遍历代码,将鼠标放在可疑代码一行的标记栏(在编辑器区域的左侧)上,双击即可设置断点。


3.编辑器左侧看到的两个断点

现在,从Run > Debug 菜单启动调试会话。最好不要将多条语句放在一行上,因为会无法单步执行,也不能为同一行上的多条语句设置行断点。


4.视图中左侧空白处的箭头指示当前正在执行的行

还有一个方便的断点视图来管理所有的断点。


5.断点视图

条件断点

一 旦了解到错误发生的位置,您可能想要知道在程序崩溃之前,程序在做什么。一种方法就是单步执行程序的每行语句。一次执行一行,直到运行到可疑的那行代码。有时,最好只运行一段代码,在可疑代码处停止运行,在这个位置检查数据。还可以声明条件断点,它在表达式值发生变化时触发(请参见图6)。除此之外,在输入条件表达式时,也可以使用代码帮助。


6.设置条件断点触发器

计算表达式的值

为了在 Debug透视图的编辑器中计算表达式的值,选择设置了断点的那行代码,在上下文菜单中,通过 Ctrl+Shift+I或右键单击您感兴趣的变量(参见图 7)选择 Inspect选项。在当前堆栈框架的上下文中会计算表达式的值,在 Display 窗口的 Expressions视图中会显示结果。


7.通过 Inspect 选项计算表达式的值

剪切活动代码

Display视图允许您以剪切类型的方式处理活动代码(参见图 8)。要处理一个变量,在 Display视图中输入变量名即可,视图会提示您一个熟悉的内容助手。


8. Display视图

当 调试器停止在一个断点处时,您可以从 Debug视图工具栏(参见图 9)中选择 Step Over 选项,继续调试器会话。该操作会越过高亮显示的那行代码,继续执行同一方法中的下一行代码(或者继续执行调用当前方法的那个方法的下一行代码)。执行上一步后发生改变的变量会用某种颜色高亮显示(默认是黄色)。颜色可以在调试首选项页面中改变。


9.改变颜色的变量

要在 Debug视图中挂起执行线程,选择一个运行线程,单击 Debug 视图工具栏中的Suspend。 该线程的当前调用堆栈就会显示出来,当前执行的代码行就会在 Debug透视图中的编辑器中高亮显示。挂起一个线程时,将鼠标放在 Java 编辑器中的变量上,该变量的值就会在一个小的悬停窗口中显示出来。此时,该线程的顶部堆栈框架也会自动选中,其中的可视变量也会在 Variables视图中显示出来。您可以通过单击 Variables 视图中合适的变量名来检查变量。

热交换错误修正:动态代码修正

如 果运行的是 Java虚拟机(Java Virtual MachineJVMV1.4或更高的版本,Eclipse支持一个叫做热交换错误修正(Hotswap Bug Fixing)的功能,JVM V1.3或更低的版本不支持该功能。该功能允许在调试器会话中改变源代码,这比退出应用程序、更改代码、重新编译、然后启动另一个调试会话更好。要利用该功能,在编辑器中更改代码后重新调试即可。由于 JVM V1.4 Java 平台调试器架构(Java Platform Debugger ArchitectureJPDA)兼容,所以才有可能具备该功能。JPDA实现了在运行的应用程序中替换经过修改的代码的功能。如果应用程序启动时间较长或执行到程序失败的地方时间很长,那么这一点特别有用。

如果在完成调试时,程序还没有全部执行一遍,在 Debug视图的上下文菜单中选择 Terminate 选项。容易犯的一个错误是在调试器会话中使用 Debug Run,而不是Resume。这样做会启动另一个调试器会话,而不是继续当前会话。

来源于 IBM;
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
例如 :AB两个断点,debug过程中发现A断点已经无用,去除A断点,运行resume就会跳过A直接到达B断点。
6.hit count
设置执行次数 适合程序中的for循环(设置 breakpoint view-右键hit count)
7.inspect
检查 运算。执行一个表达式显示执行值
8.watch
实时地监视对象、方法或变量的变化

9.
我们常说的断点(breakpoints)是指linebreakpoints,除了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--save&build-->resume-->重新暂挂于断点
15.resume
debug调试跑出异常时,运行resume,重新从断点开始调试
16.
如果一行有很多方法,
当第一次按F5键就跳入这一行第一个方法,F6一步一步调试,F7跳出这方法.
当第二次按F5键就跳入这一行第二个方法,F6一步一步调试,F7跳出这方法.
以此类推.想进入这一行第几个方法,就按几次F5F7.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、通信产业链(通信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值