JAPA介绍 JPDA(Java Platform Debugger Architecture)是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API,开发人员可以方便灵活的搭建 Java 调试应用程序. JPDA是一组API集合,旨在帮助你调试Java代码.J2SE自1.2.2版开始推出JPDA工具集,并在1.3.x版中将它直接包含在J2SE软件包中. JPDA并非一个应用程序或调试工具,而是一组精心设计的接口与协议,了解这点很重要.Sun设计这一标准的目的是提供一个基础构架,以…
本文转载自Java 动态调试技术原理及实践 导语 断点调试是我们最常使用的调试手段,它可以获取到方法执行过程中的变量信息,并可以观察到方法的执行路径.但断点调试会在断点位置停顿,使得整个应用停止响应.在线上停顿应用是致命的,动态调试技术给了我们创造新的调试模式的想象空间.本文将研究Java语言中的动态调试技术,首先概括Java动态调试所涉及的技术基础,接着介绍我们在Java动态调试领域的思考及实践,通过结合实际业务场景,设计并实现了一种具备动态性的断点调试工具Java-debug-tool,显著…
JAVA自身支持调试功能,并提供了一个简单的调试工具--JDB,类似于功能强大的GDB,JDB也是一个字符界面的 调试环境,并支持设置断点,支持线程线级的调试 JAVA的调试方法如下: 1.首先支持JVM,并设置参数,使之工作在DEBUG模式下,加入参数: -Xdebug -Xrunjdwp,transport=dt_socket,server=y,address=,suspend=n,onthrow=java.io.IOException,launch=/sbin/echo 其中, -Xdeb…
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://github.com/jiangxincode 知乎地址: https://www.zhihu.com/people/jiangxinnju Java(Eclipse IDE)远程调试Tomcat容器中的代码,经常出现两端代码不一致的情况,下面针对之前出现过的问题进行汇总,作为以后快速排查的依据. 服…
System.out.println(e),这个方法打印出异常,并且输出在哪里出现的异常,不过它和另外一个e.printStackTrace()方法不同.后者也是打印出异常,但是它还将显示出更深的调用信息. 修改变量值 修改变量值的情况适用于代码停在断点处,但是传过来的值不正确,那么可以通过修改这个变量值,保证代码走正确的流程:或者是说有一个异常分支老是进不去,能不能调试时改一下条件,看一下异常分支代码是否正确. 在Debug 视图的 Variables 小窗口中,我们可以在变量上右键,选择"C…
最近在做微信公众号开发,由于之前没有接触过,突然发现调试不方便,不方便进行断点跟踪调试.因为微信那边绑定的服务器地址必须是公网地址,但是还是想进行断点调试(毕竟这样太方便了,程序有Bug,一步步断点跟踪不是很爽么,哈哈) 因此上网搜了一下,发现好多是使用软件之类的进行请求转发从生产环境转发请求到开发环境上,发现有的太麻烦了. 有的人喜欢日志记录,这个看个人习惯了,我比较喜欢断点调试罢了,也可以看见程序执行流程不是么 突然想到Vs有一个附加到进程的远程调试.于是玩了一把.我们直接开始(服务器上就不…
项目放到linux服务器了,服务器的环境或者数据可能和我们本地不一样,这个时候我们可能需要远程的断点进行调试,来查看请求过程中的各个变量的值.这里我们的应用服务器用的tomcat5.5.17 这个时候你需要知道JPDA这个概念. 简单的概括下JPDA: Java Platform Debugger Architecture(JPDA:Java平台调试架构) 由Java虚拟机后端和调试平台前端组成  1.Java虚拟机提供了Java调试的功能  2.调试平台通过调试交互协议向Java虚拟机请求服务…
1.远程端启动必须添加jvm参数 -Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=${debug_port} 其中debug_port为自定义的调试端口 2. 本地连接远程服务器debug端口 打开Intellij IDEA,在顶部靠右的地方选择”Edit Configurations…”,进去之后点击+号,选择”Remote”,按照下图的只是填写红框内的内容,其中host为远程代码运行的机器的ip/hostnam…
遇见一个怪异问题,无奈线上数据库有限制,只能远程调试下代码.突然发现,远程调试代码真的好简单,简单记录下操作步骤. 1.在idea里创建一个Remote,远程连接的入口. 找到 Edit Configgurations 这个选项. 找到左上角的加号,新建一个Configguration. 找到Remote,这就是远程调用的入口. a.修改远程服务器的ip b.这个端口是我们远程调用时候使用的端口,不是tomcat服务器的端口 c.选择与线上匹配的项目源码.然后得到箭头的参数. 2.设置Tomca…
首先说一下需求,否则很多人都不知道pycharm这个远程同步和调试到底是干嘛使的. 需求很简单,我想要在本地的windows机器上跑一个程序,但是程序运行会加载一些很占内存的树型数据结构,称其为tree:这些tree的大小有20G,需要全部加载到内存当中才能够使的程序跑起来,这下完了,我的计算机配置内存才8G,如果tree都加载到内存中肯定会爆掉.因为公司服务器的内存为90G,所以完全可以用其来加载tree.但是其中一个问题是我可以将代码传送到公司服务器上,然后在其上面跑,但是一旦我需要修改代码…