Java与JS代码调试技巧

断点的分类,断点可以到到类名上,变量行上,方法名上。   
   java源码上可以打断点,断点打到方法头上,编译的时候断点信息不会被去除掉,编译后的class文件
在debug模式下运行,可以触发断点,挂起线程。   
   eclipse的断点,都可以进行属性设置,设置断点触发的场景(例如,断点的可用性,触发场景,过滤
执行线程)。   

一,多线程中的断点  
     多线程一般不适合打断点,如果清楚某个特定的场景可以尝试操作。断点执行的时候,两个线程之
间合理的断点跳过,有时候才能捕获另一个线程的断点。不能一条线程的断点走到头,这样不容易捕获其他线程的断点代码。   
二,条件断点   
    不论是eclipse还是Chrome都支持断点条件触发,可以写条件表达式进行断点捕获。   
三,异常断点   
    在eclipse中添加断点异常,这样异常发生时,可以调到异常发生点。     
四,断点挂起的时候,可以执行测试代码,在eclipse中的display窗口,Chrome的console窗口。   

五,远程调试    
    java虚拟机支持远程调试,需要开启虚拟机的调试选项参数。然后通过eclipse的远程调试窗口发起远程调试。      

更多的断点技巧发现,可以探讨调试工具的调试窗口,在遇到调试问题时,不场景的调试场景,去仔细研究工具提供的功能,或许会有更好的发现。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

代码还原的技术: Unidbg hook_add_new实现条件断点(二)

一、目标在做代码还原的时候,有时候会分析一组结果,希望在中途下个条件断点,比如在代码行0x1234,R00x5678的时候触发断点。今天我们就来试着搞一下。TIP:Unidbg代码同步到官方最新版,最新版已经支持浮点寄存器的显示了。二、步骤先写个floatdemotwo把祖传算法升个级extern"C"JNIEXPORTjstringJNIC

Charles断点调试详解

最近用了下Charles断点调试,感觉挺方便的,在这做下分享1.给需要接口打断点!(https://images2018.cnblogs.com/blog/1225550/201805/122555020180528192112081117669075.png)2.打完断点后检查Charles断点开启!(https://image