eclipse调试详解

eclipse调试详解

作者: 高州人家 来源: 网络转载 浏览: 1610 次 好评: 0分 【 2007-11-16

本地调试  
  Java   调试器具有客户机/服务器设计,因此,它可以用来调试以本地方式(在调试器所在的工作站上)或以远程方式(在网络中的另一台计算机上)运行的 程序。  
   
  本地调试是最简单并且最常用的一种调试。完成编辑和构建   Java   程序后,可以使用工作台上的运行   >   调试...菜单项来在工作站上启动程序。以此方式启动程序将在调试器客户机与正在启动的   Java   程序之间建立连接。然后,可以使用断点、单步执行或表达式求值来调试程序。        
   
   
  准备调试  
  可通过遵循下列准则使程序更容易调试:  
   
  尽可能不要将多个语句放在同一行上,因为某些调试器功能部件是以行为基础来运行的。例如,不能在同一行上的多个语句上单步跳过或设置行断点。    
  如果您有源代码,则将源代码连接至   JAR   文件。         
    
    
  以调试方式启动   Java   程序    
  以调试方式启动程序允许您使用调试器来暂挂和继续执行程序、检查变量和对表达式进行求值。    
   
  要以调试方式启动   Java   程序,    
   
  在“包资源管理器”中,选择想要启动的   Java   编译单元或类文件。    
  选择运行   >   调试方式   >   Java   应用程序。    
  或者选择调试工具栏按钮上的下拉菜单中的调试方式   >   Java   应用程序。      
  现在就启动了程序,并且已启动的进程显示在“调试”视图中。      
  如果想要程序在   main   方法中停止以便您可以单步遍历它的整个执行,则创建   Java   应用程序启动配置,并选择主选项卡上的在   main   中停止复选框。    
   
  还可以通过选择项目而不是编译单元或类文件来调试   Java   程序。将提示您从定义   main   方法的那些类中选择一个类。(如果在项目中只找到了一个具有   main   方法的类,则会象选择了该类一样启动该类。)  
   
   
   
  暂挂线程  
  要暂挂正在执行的线程:    
   
  在“调试”视图中选择该线程。    
  单击“调试”视图工具栏中的暂挂按钮。该线程就会暂挂它的执行。将显示该线程的当前调用堆栈,并且在“调试”透视图中的编辑器中突出显示执行的当前行。    
  线程暂挂时,会自动选择该线程的顶部堆栈帧。“变量”视图显示堆栈帧的变量以及它们的值。可通过展开复杂变量以显示它们的成员的值来进一步检查复杂变量。    
   
  当暂挂了线程并且将光标悬浮在   Java   编辑器中的一个变量上时,就会显示该变量的值。  
   
   
   
  继续执行暂挂的线程  
  要继续执行暂挂的线程:    
   
  在“调试”视图中选择该线程或者它的堆栈帧。    
  单击“调试”视图工具栏中的继续按钮(或者按   F8   键)。线程将继续执行,但是将不再对该线程显示堆栈帧。这就清除了“变量”视图。    
单步遍历   Java   程序的执行  
  暂挂线程时,可以使用单步控制来逐行单步完成程序的执行。如果在执行单步操作时遇到了断点,则在该断点处将暂挂执行,并且该单步操作将结束。    
   
  单步跳过  
  在“调试”视图中选择堆栈帧。该堆栈帧中的执行的当前行在“调试”透视图的编辑器中突出显示。    
  单击“调试”视图工具栏中的单步跳过按钮,或者按   F6   键。执行当前所选的行,但会在下一个可执行行上暂挂。    
  单步跳入  
  在“调试”视图中选择堆栈帧。所选帧中的执行的当前行在“调试”透视图的编辑器中突出显示。    
  单击“调试”视图工具栏中的单步跳入按钮,或者按   F5   键。调用在要执行的当前所选行上的下一个表达式,而执行会在调用的方法中的下一个可执行行上暂挂。    
  单步跳入选择  
  在“调试”视图中选择堆栈帧。所选帧中的执行的当前行在“调试”透视图的编辑器中突出显示。    
  在   Java   编辑器中,在执行的当前行中,将光标放置在想要单步跳入的方法的名称上。    
  单击“运行”菜单或   Java   编辑器上下文菜单中的单步跳入选择操作,或者按   Ctrl-F5   键。将继续执行,直到调用了所选择的方法为止。    
  使用过滤器单步执行    
  切换“调试”视图工具栏中的使用单步执行过滤器按钮,或者使用   Shift+F5。当将此操作切换为打开时,每个单步执行操作(单步跳过、单步跳入和单步返回)都将应用在用户首选项中定义的那组单步执行过滤器(请参阅窗口   >   首选项   >   Java   >   调试   >   单步执行过滤)。当调用单步执行操作时,在到达未过滤的位置或遇到断点之前,单步执行将继续。    
   
  运行至返回  
  在“调试”视图中选择堆栈帧。所选帧中的执行的当前行在“调试”透视图的编辑器中突出显示。    
  单击“调试”视图工具栏中的运行至返回按钮,或者按   F7   键。将继续执行,直到执行当前方法中的下一个返回语句,且执行会在下一个可执行行上暂挂。    
  运行至行  
  暂挂线程时,可以继续执行,直到执行指定的行为止。这是在某行暂挂执行而不用设置断点的简便方法。    
   
  将光标放在想要程序运行的行上。    
  从弹出菜单中选择运行至行,或者使用   Ctrl+R。程序将继续执行,而刚好在要执行的指定行之前暂挂。    
  有可能某行从来不会遇到,并且程序将不会暂挂。    
   
  断点和异常可导致线程在到达指定行之前被暂挂。   
   
检查值  
  当选择了堆栈帧时,可以在“变量”视图的该堆栈帧中看到可视变量。    
   
  “变量”视图显示基本类型的值。可通过展开复杂变量以显示它们的成员来检查复杂变量。    
   
   
  对表达式求值  
  当   VM   暂挂线程(由于遇到断点或单步执行代码)时,可以在堆栈帧的上下文中对表达式进行求值。    
   
  选择要在其中执行求值的堆栈帧。对于变量和表达式视图的详细信息窗格,求值上下文将是所选择的变量。如果未选择任何变量,则所选择的堆栈帧将为上下文。    
  可以在下列区域中输入表达式和对表达式求值:    
  显示视图    
  表达式视图的详细信息窗格    
  变量视图的详细信息窗格    
  Java   编辑器(当它正在显示源并且不是只读的时候)    
  选择要求值的表达式,并从上下文弹出菜单中选择显示、检查或执行。显示或检查求值的结果将显示在一个弹出窗口中。注意,执行不显示结果   -   只执行表达式。    
  可以通过单击弹出窗口的外部或按   Esc   来离开结果弹出窗口。通过按弹出窗口底部显示的键序列,可以将结果移至“显示”视图(如果选择了显示)或“表达式”视图(如果选择了检查)。例如,要将检查求值的结果移至“表达式”视图,按   CTRL-Shift-I。注意,当从“显示”视图使用显示操作时,结果将会写入“显示”视图而不是弹出窗口中    
  注意:在已经手工暂挂的线程中不能执行求值。       
    
  远程调试  
  Java   调试器的客户机/服务器设计允许您从网络中的计算机启动   Java   程序并从运行平台的工作站调试该程序。当为不能主管开发平台的设备开发程序时,这一点尤其有用。当在专用机器(如   web   服务器)上调试程序时,这一点也很有用。          
   
  注意:要使用 远程调试,必须使用支持此功能的   Java   VM。  
   
  要以远程方式调试程序,必须能够在远程机器上以调试方式启动程序,以便它将等待来自调试器的连接。用于启动程序和连接调试器的特定技术是特定于   VM   的。基本步骤如下:  
   
  确保正在以可用的调试信息构建   Java   程序。(可以从窗口   >   首选项   >   Java   >   编译器控制这些属性)。      
  构建   Java   程序后,将其安装到目标计算机。这涉及将   .CLASS   文件或   .JAR   文件复制到远程计算机上的适当的位置。        
  在远程计算机上调用   Java   程序,并使用适当的   VM   自变量来指定调试方式和调试器的通信端口。    
  使用远程启动配置来启动调试器并指定远程计算机的地址和端口。    
  应该从   VM   供应商那里获取用来设置用于进行 远程调试的启动配置的更特定指示信息。  
   
  使用远程   Java   应用程序启动配置    
  远程   Java   应用程序启动配置应在调试正在远程   VM   上运行的应用程序时使用。因为应用程序是在远程系统上启动的,所以启动配置不会指定有关   JRE、程序自变量或   VM   自变量的普通信息。然而,提供了有关连接至应用程序的信息。    
   
  要创建远程   Java   应用程序启动配置,执行下列操作:  
   
  从工作台菜单栏中选择运行   >   调试...(或者从调试工具栏按钮的下拉菜单中选择调试...)来显示“启动配置”对话框。    
  在左边的配置类型列表中选择远程   Java   应用程序。    
  单击新建按钮。于是就创建了新的远程启动配置,并显示三个选项卡:连接、源和公共。    
  在连接选项卡的项目字段中,输入或进行浏览来选择用作启动的参考的项目(用于源查找)。不需要指定项目。    
  在连接选项卡的主机字段中,输入   Java   程序正在其中运行的主机的   IP   地址或域名。  
  如果程序与工作台在同一台机器上运行,则输入   localhost。    
  在连接选项卡的端口字段中,输入远程   VM   正在其中接受连接的端口。通常,启动远程   VM   时就要指定此端口。    
  允许终止远程   VM   标志是一个切换开关,它确定是否在调试器中启用终止命令。如果想要能够终止正连接至的   VM,则选择此选项。    
  单击调试。启动将尝试连接至位于指定地址和端口的   VM,而结果显示在“调试”视图中。如果启动程序无法连接至位于指定地址的   VM,则会出现错误消息。    
  指定应当从   VM   供应商处获取的用于设置远程   VM   的指示信息。    
   
  与   VM   断开连接  
  要与使用“远程   Java   应用程序”启动配置所连接至的   VM   断开连接:  
   
  在“调试”视图中,选择启动。    
  单击视图的工具栏中的断开连接按钮。与   VM   的通信终止,而远程   VM   中的所有线程仍继续进行。尽管远程   VM   继续执行,但调试会话现在终止了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值