`
yimi128
  • 浏览: 55427 次
  • 来自: ...
社区版块
存档分类
最新评论

关于java的编译和远程调试

阅读更多

 

场景:

 

远程服务器上的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条应该知道怎么办了吧?

 

分享到:
评论

相关推荐

    eclipse 远程调试jboss as7

    eclipse 远程调试jboss as7配置过程, 图文并茂

    格式化jd-gui反编译源码的行号,便于debug调试

    这样的话我们在没有源文件的时候又希望能够远程调试代码几乎是不可能的。在这里写了个小工具,将行号和源文件的行号对应上。需要通过jd-gui反编译的代码保存为zip文件。该工具可以把通过制定文件夹把文件夹里的反...

    基于JAVA 实现CS远程监控系统软件的实现附项目源码+文档说明

    Java程序可以使用各种开发工具进行编写、编译和调试,比如IntelliJ IDEA等。 Java程序可以用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序、移动应用程序等。Java的跨平台特性使得Java程序可以在任何...

    基于Java实现远程视频会议管理系统源码+数据库文件+文档说明

    Java程序可以使用各种开发工具进行编写、编译和调试,比如IntelliJ IDEA等。 Java程序可以用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序、移动应用程序等。Java的跨平台特性使得Java程序可以在任何...

    漫谈调试/调试的基本原理

    gdb调试器源代码编译 调试的基本原理 远程调试 再谈”借壳” 一些调试技巧 调试前景展望

    Vscode Remote Development远程开发调试的实现思路

    直接修改、调试服务器代码,当然可以安装插件,包括代码补全等等,和使用本地vscode一样的体验。 直接编辑、修改服务器的文件,使用 code filename.即可 配置 服务端安装ssh-server 一般都自带了。建议 使用ssh ...

    基于javaswing开发的人力资源管理系统,idea和eclipse均可编译运行,优质系统

    基于JavaSwing的人力资源管理系统,java项目。 eclipse和idea都能打开运行。 推荐环境配置:eclipse/idea jdk1.8 maven mysql 前端技术:JavaSwing ...提供远程调试、代码讲解服务 更多精品项目,请查看主页

    基于JAVAweb实现本地监听与远程端口扫描源代码+文档分享

    Java程序可以使用各种开发工具进行编写、编译和调试,比如IntelliJ IDEA等。 Java程序可以用于开发各种类型的应用程序,包括桌面应用程序、Web应用程序、移动应用程序等。Java的跨平台特性使得Java程序可以在任何...

    VC源码远程进程和机器控制

    远程进程和机器控制 功能描述: 只需知道远程主机的用户、口令,即可对其进行远程控制,体积小,功能强大,可以绕开防火墙,提供VC源码。 调试说明: 1、 编译Remote Admin Server提示找不到PSAPI.H,请在google搜索...

    Java2核心技术.part5

    1.5关于Java的常见误解 第2章Java程序设计环境 2.1安装Java开发工具箱 2.1.1下载JDK 2.1.2设置执行路径 2.1.3安装库源代码和文档 2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 ...

    Java虚拟机

    第一部分从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解本书后面内容有重要帮助。第二部分讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出...

    use gwt dev Ajaxt--GWT 开发Ajax更方便(学习文档)

    Google Web Toolkit(GWT)是一个Java开发框架,用来减轻AJAX(Asynchronous ...GWT提供java.lang和java.util包的子集,同时也包括有助于基于组件的GUI开发的Java API,它能够被编译为HTML和JavaScript开发到浏览器端。

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    / 247 9.3.3 实现 / 248 9.3.4 验证 / 255 9.4 本章小结 / 256 第四部分 程序编译与代码优化 第10章 早期(编译期)优化 / 258 10.1 概述 / 258 10.2 Javac编译器 / 259 10.2.1 Javac的源码与调试 ...

    Dalvik虚拟机 PPT版

    Dalvik虚拟机与Java虚拟机共享有差不多的特性,例如,它们都是解释执行,并且支持即时编译(JIT)、垃圾收集(GC)、Java本地方法调用(JNI)和Java远程调试协议(JDWP)等,差别在于两者执行的指令集是不一样的,...

    java 面试题 总结

    它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是...

    Java2核心技术.part3

    1.5关于Java的常见误解 第2章Java程序设计环境 2.1安装Java开发工具箱 2.1.1下载JDK 2.1.2设置执行路径 2.1.3安装库源代码和文档 2.1.4安装本书中的示例 2.1.5导航Java目录 2.2选择开发环境 ...

Global site tag (gtag.js) - Google Analytics