Java与JS代码调试技巧

Wesley13
• 阅读 724

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

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

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

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

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
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
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
代码还原的技术: Unidbg hook_add_new实现条件断点(二)
一、目标在做代码还原的时候,有时候会分析一组结果,希望在中途下个条件断点,比如在代码行0x1234,R00x5678的时候触发断点。今天我们就来试着搞一下。TIP:Unidbg代码同步到官方最新版,最新版已经支持浮点寄存器的显示了。二、步骤先写个floatdemotwo把祖传算法升个级extern"C"JNIEXPORTjstringJNIC
Stella981 Stella981
3年前
Charles断点调试详解
最近用了下Charles断点调试,感觉挺方便的,在这做下分享1.给需要接口打断点!(https://images2018.cnblogs.com/blog/1225550/201805/122555020180528192112081117669075.png)2.打完断点后检查Charles断点开启!(https://image
Wesley13 Wesley13
3年前
PHP POST 接受长字符串时出现500错误
昨天在开发的时候遇到一个问题,formentype“multipart/formdata”表单提交时显示500错误。开始我以为是php代码问题,我检查了一遍代码,没有问题。之后设置断点,依旧报错500,这就说明断点代码就没有执行,表单提交动作根本没有触发后端的php代码。于是,我将注意力放在了php配置上,反复修改配置调试,而且重装了php依
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
C# if为false仍然进入方法体,==和qeual结果不一致
场景:代码:if(e.KeyKey.Tab){//...}断点调试:结果为false,进入方法体  ???更改为:if(Key.Tab.Equals(e.key)){//...}断点调试:结果为false,不进入方法体,
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
PHPStorm等编辑器debug调试(包括使用postman、soapUI)
很多人在开发的时候,需要进行断点调试,但是很多人配置了很多,还是调试不了,其实是不需要这么麻烦的。注意:PHPStorm等编辑器debug的配置不用进行任何配置,默认配置就好实质上,断点调试的时候,只需要传入一定的参数,就可以进行断点调试先拿PHPStorm来说:1、确认php.ini中debug打开并有基础的配置(没有的话自己加一下