当前位置: 首页 > news >正文

个人博客网站页面百度软件中心

个人博客网站页面,百度软件中心,百度app官网下载安装,现在ui做的比较好的网站程序员的工作内容#xff0c;除了大部分时间写代码之外#xff0c;因为有不少的时间是用在调试代码上。甚至说不是在调试代码#xff0c;就是即将调试代码。 :) 今天我们来谈谈调试代码的一些技巧#xff0c;在使用IDE提供的debugger时一些快速定位问题的方式。 看到这里的…         程序员的工作内容除了大部分时间写代码之外因为有不少的时间是用在调试代码上。甚至说不是在调试代码就是即将调试代码。 :) 今天我们来谈谈调试代码的一些技巧在使用IDE提供的debugger时一些快速定位问题的方式。 看到这里的朋友不要马上认为我标题党再往下看看如果你还有一些更好用的技巧欢迎留言。 下面进入正题。 1 多线程调试 开发过多线程应用的朋友应该有体会有些时候为了观察多个线程间变量的不同状态以及锁的获取等就会想到在代码里加个断点debug一下。 在IDE里断点停下来的时候可以切换到另外的线程中跑其他的代码不会互相影响。当然这里是有个开关的在Eclipse里默认开启 但是在IntelliJ IDEA里默认是没有开启的。也就是说如果你在IDEA里代码里加断点虽然一个线程的断了下来但其他线程的已经执行过了。此处把线程的suspend设置成和Eclipse模式一样之后也可以开始多线程应用的调试。简单设置可以直接在断点处将suspend改成Thread   更改IDEA中的默认设置切换到Thread Radio Button,点击出现的按钮 ”Make Default   一个线程断下来之后可以通过在线程窗口切换到其它线程中继续运行。 IntelliJ IDEA里在这儿切换   我们看到main线程和pool-1-thread-1这两个线程都处于RUNNING状态切换到任何一个都可以继续运行。 此时就可以写一个多线程的应用同时向ArryList这一类非线程安全的容器中存放内容然后观察为什么他们是线程不安全的会出现什么问题生动又形象。 PS: 这里顺道说一下这就是为什么创建线程时建议起一个有意义的名字 至少是可以识别的名字否则在这里都不能区分出哪个是自己的线程想切换还麻烦。 2 后退执行 这里所说的后退执行是有些时候我们在debug代码时懒的每个方法都进入单步调试就会出现你观察一个变量值的变化时某个方法没跟进去结果值就变了不得不重来一次。 依靠后退执行的功能可以后退就像下棋时悔棋那种功能一样。当然这个后退操作的名字是我自己起的在IDE里被称为Drop Frame。   有了这个功能我们在Drop 了当前这个Frame之后已经改变的变量值不会恢复。比如你向当前调用方法里传入了一个List并且在方法中向List里添加了内容那在Drop到调用该方法的地方时List不会恢复到之前的状态。 但是在该方法再次被调用时你可以观察List什么时候被改变的至少不需要再重跑一遍程序了。甚至你可以一言不合就后退。 3 条件断点 为了调试代码就需要在要观察变更的地方添加断点然后小心翼翼的一步步执行。但是如果是在一个循环里又或者该方法会被多线程同时调用到的时候你小心的向下单步调试发现没有你关心的内容又从循环开始处跑下来还是没你的内容人就开始烦燥起来。 其实在添加断点的时候我们可以为断点增加一定的条件这样在指定的条件满足时断点才会生效。 IntelliJ IDEA内在断点上右击会弹出如下图的条件框输入指定的条件即可。   有了条件断点不相关不感兴趣的代码就可以直接跳过了。 4 片断代码 这个没想好用什么名字来表述。有些时候在调试过程中忽然想招待一段与此相关但不在源文件中的代码来观察一下辅助进行问题分析。此时你会停止程序添加代码然后重新跑一次吗 在IDEA里有一个执行代码片断的功能可以在当前代码的上下文内执行你临时写的代码。 例如当前方法传入一个List但这个方法里少一个你后面条件需要使用到的元素此时你可以临时使用片断代码执行的功能添加一个进去。 注意在IntelliJ IDEA里这个上面红框像个小计算器的按钮就是临时执行的功能点击之后会弹出按钮下方这个Evaluate ExpressionCtrlF8的框输入代码点击右下角的Evalute即可。返回值会显示在Result处。   这就就相当于临时改变了变量内容。 然后还可以调用对象的方法执行功能获取属性值等。   5 查看变量修改值 每个IDE在调试代码时都提供了一个观察当前上下文变量值的窗口。其实除了查看之外一些非final的基本类型还可以直接在此处修改值。这样如果多次循环执行时每次可以恢复到期望的值不需要重启程序。   作者侯树成链接http://www.jianshu.com/p/cfa0f049054e來源简书著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。TODO是什么说白了它就是一个高亮显示的注释方便定位的工具。(eclipse也有小白估计没用过)   IntelliJ idea  预定义了两种TODO模式如下   \btodo\b.* \bfixme\b.*  解释一下上面模式啥意思不懂的时候第一眼这是什么东西啊其实熟悉正则表达式的人一想也就明白了它就是两个正则表达式正则中“\b”是元字符代表着单词的开头或结尾也就是单词的分界处。现在我们看上面两个正则表达式“\b   \b中字符串todo跟fixme,该表达式单纯表达的意思就是匹配todo.*跟fixme.* todo可以解释为“要去做的xxx还未发生”(想一下我们学过的英语动词不定式 to  do  sth)fixme即需要自己修改的放到编程的注释中就是 // TODO 说明 在该注释处有功能代码待编写待实现的功能在说明中会简略说明。 // FIXME 说明 该注释处代码需要修正甚至代码是错误的不能工作需要修复如何修正会在说明中简略说明。 下面直接上效果图下图一选中第一个Pattern   --------------------- 作者aspu O_O 来源CSDN 原文https://blog.csdn.net/dyr_1203/article/details/83016441 版权声明本文为博主原创文章转载请附上博文链接       IDEA 中定义自己的TODO 并设置快捷键             刚好看到阿里巴巴开发规范的对于TODO的说明粘贴出来有需要的可以参考 11. 【参考】特殊注释标记请注明标记人与标记时间。注意及时处理这些标记通过标记扫描 经常清理此类标记。线上故障有时候就是来源于这些标记处的代码。          1 待办事宜TODO: 标记人标记时间[预计处理时间]    表示需要实现但目前还未实现的功能。  这实际上是一个 Javadoc 的标签目前的 Javadoc 还没有实现但已经被广泛使用。只能应用于类接口和方法因为它是一个 Javadoc 标签。         2 错误不能工作FIXME:标记人标记时间[预计处理时间]    在注释中用 FIXME 标记某代码是错误的而且不能工作需要及时纠正的情况 需要阿里巴巴Java开发手册(1.4.0版本)以及插件 可以去官方的GitHub上下载https://github.com/alibaba/p3c--------------------- 作者o猜拳0 来源CSDN 原文https://blog.csdn.net/qq_38878455/article/details/82933174 版权声明本文为博主原创文章转载请附上博文链接  转载于:https://www.cnblogs.com/softidea/p/7245884.html
http://www.zqtcl.cn/news/71844/

相关文章:

  • 素材网站 模板网页设计实训报告范例
  • 制作个人博客网站做图模板网站有哪些内容
  • 最好的wordpress网站如何高效率的建设网站
  • 做好中心网站建设工作做特卖的网站有哪些
  • 企业门户网站开发费用怎么利用互联网平台赚钱
  • 网站网页设计公司有哪些天津网站建设设计开发公司
  • 网站被加入js广告做图哪个网站素材多
  • 安徽省住房城乡建设厅网站公示个人网站建设规划案例
  • 长春市建设厅网站asp网站后台管理系统源码
  • h5建站模板电子商务网站建设与管理a
  • 企业宣传软文淘宝客网站怎么做seo
  • 武清网站开发tjniu微信企业邮箱
  • ps工具设计网站厦门网站建设人才
  • 3g电影网站排行榜沈阳做网站最好的公司
  • 楚雄建网站建立简单网站
  • 实业有限公司网站怎么做上海排名seo公司
  • 外贸网站关键词优化食品网站建设的目的
  • 沈阳网站建设索王道下拉万网可以做网站吗
  • ftp修改网站红衫中国网站建设
  • 开发的网站wordpress 4.0 中文版
  • 手机怎么创建网站怎么做网站才能吸引人
  • 湘潭公司网站建设网站优点
  • 广州本地门户网站轴承外贸平台哪个网站最好
  • 企业网站模块介绍企业网站个人备案吗
  • ps做网站原形凌河建设网站
  • 网页特技的网站南阳网站建设培训学校
  • 网站为什么提示风险天元建设集团有限公司财务分析
  • 夸克免费空间邓州网站优化
  • 长沙营销企业网站建设wordpress主题 relax
  • 网站后台源码企业手机网站建设联系方式