场景:
远程服务器上的java程序使用ant编译,本地java程序使用eclipse编译,远程调试服务器上的java程序。
基本的条件比如要用相同版本的jdk编译是前提,这里着重强调相关的编译条件。
设置
:
1.本地eclipse编译时,需要工程右键->属性->Java Compiler->Classfile Generation
勾选下面的Add variable attributes
...
Add line number attributes
...
Add source file name
...
Preserve unused local variables
2.远程服务器上使用ant编译时,javac任务添加属性debug="on" debuglevel="vars
,lines
,source
"
结论
:
对比上面的设置,我们可以看出,我们要能按行debug,并且看到变量值的话,要保证eclipse和ant编译的参数都相同。
当然这只是调试时需要的配置,真正上线运行的代码,编译时要关闭debug信息,即debug="off"。
在eclipse中可能会出现的错误:
- 设置断点时,报:Unable to install breakpoint due to missing line number attributes. Modify compiler options to generate line number attributes错误。
解决办法:首先按上面的第一条配置eclipse,另外在ant的javac任务中打开debug属性,即debug="on"
- 现在可以调试了,但是只能看到this的变量,local variables都没有显示
解决办法:相信你看了上面的2条应该知道怎么办了吧?
分享到:
相关推荐
- **创建远程调试配置**:选择`Remote Java Application`,并设置目标IP地址和端口号(例如9999)。 - **连接并调试**:点击`Apply and Launch`按钮,IDE会尝试连接到远程主机上的应用程序,并等待断点触发。 参考...
宿主机上的GDB通常不能直接用于远程调试,因此需要从GNU官网下载GDB的源代码包,并针对arm平台进行配置和编译,以获得适用于ARM目标平台的GDB版本。GDB的编译和安装过程需要在Linux环境下完成,确保有合适的编译器和...
总之,使用JPDA进行Java程序的远程调试能够帮助开发者高效地定位和解决问题,无论应用程序运行在哪里,只要配置得当,都能实现远程调试。通过熟练掌握这一技术,可以显著提升开发效率并优化代码质量。
### 远程调试快捷键详解 #### 一、基本操作 **1. Ctrl+M**:此快捷键用于切换编辑器窗口的大小。在进行远程调试时,这可以帮助开发者更灵活地调整视图布局,以便更好地查看代码或相关调试信息。 **2. Ctrl+Q**:...
本机作为客户端比较常用,需要在远端的服务器上的 Java 程序在启动时打开远程调试开关。 7. 异常断点 异常断点经常遇见一些异常,然后程序就退出来了,要找到异常发生的地方就比较难了,还好可以打一个异常断点,...
注意,使用JD-Core需要对Java虚拟机接口(JVM)有一定的理解,因为它涉及到远程调试接口(JDI)和连接协议。在实际应用中,你可能需要根据实际情况调整连接参数。 总结一下,Java反编译是开发者的重要工具,可以...
在IT行业中,尤其是在Java开发领域,使用Eclipse作为IDE进行远程调试是一项常用技能。这尤其适用于需要在不同操作系统环境下开发和部署应用的情况,比如在Windows上编写代码,而在Linux服务器上运行和测试。以下是...
根据文件提供的信息,我们可以从中提炼出多个关于JAVACS远程监控系统软件实现相关的知识点。以下为详细知识点内容: 1. Java语言与JAVACS远程监控系统的关联 JAVACS远程监控系统是使用Java语言开发的,这可能是因为...
5. 调试支持:Luyten可以连接到Java远程调试服务器,使开发者能在反编译的代码中设置断点,进行单步调试,这对于分析运行时行为非常有帮助。 6. 颜色编码:源代码显示时,Luyten会根据语法高亮显示,使得代码更易读...
JDB是一个命令行工具,适用于基础的远程调试和自动化脚本,而IDE集成的调试器则提供了更丰富的图形界面,使得设置断点、单步执行、查看变量值等操作更为便捷。 在实战调试过程中,我们将学习如何设置断点、跟踪代码...
如果您需要调试运行在远程服务器上的Java应用,JCreator也支持远程调试。您需要设置JVM启动参数,启用远程调试端口,并在JCreator中配置相应的连接参数。 ### 结论 调试是软件开发过程中的重要环节,理解和掌握...
VNC服务端是系统提供远程访问功能的核心部分,而VNC Java客户端则是实现这一功能的Java语言编写的软件工具,使得用户可以使用Java运行环境在任何地方通过Java应用程序来连接和服务端进行交互。 首先,我们来详细...
- Java的Socket编程和MulticastSocket类用于实现客户端和服务器之间的通信,这对于远程桌面应用至关重要。 - 数据的编码和解码,如序列化和反序列化,也可能在其中扮演关键角色。 5. **多线程**: - 远程桌面...
下面我们将详细讲解如何基于Idea进行远程调试Tomcat上的war包和jar包。 ### 一、war包方式 1. **配置Tomcat远程调试端口** 在Tomcat的`bin`目录下找到`catalina.bat`文件,添加以下行来开启远程调试: ```bash ...
- `-DjvmParams`:这个参数用于传递JVM启动时的参数,比如内存分配(-Xms、-Xmx)和JMX远程调试设置。 - `-Xrunjdwp:transport=dt_socket,address=9000,server=y,suspend=n`:这是Java调试参数,设置使用socket传输...
在Windows 7环境下配置和远程调试Hadoop集群是一项挑战,但通过正确的方法和步骤,可以成功实现这一目标。以下是关于这个主题的详细知识: 1. **Hadoop简介**: Hadoop是由Apache基金会维护的一个分布式计算框架,...
### NetBeans 远程 Linux C 开发实践及远程调试 #### 一、NetBeans 远程 Linux C 开发概述 NetBeans 是一款优秀的跨平台 IDE(集成开发环境),支持多种编程语言,包括 Java、C/C++ 等。对于 C/C++ 开发者来说,...