工作笔记之关于idea的断点调试

关于ideadebug模式下线程断点的总结:

起因:

在使用爬虫框架获取页面信息的时候,每次进入同一个断点的时候得到的内容不是相同的,很是费解。了解了一番知道了因为启动了多线程。而一般的的断点只拦截了其中某个线程。为了方便查看每个线程进入断点时的情况,经过一番询问和百度之后才发现有线程断点这一说,深觉自己以前一直没有发现断点的真正用法。

断点介绍:


如图所示,断点可以为所有断点和线程断点,每种断点还可以设置条件,条件满足时才会进入该断点。


1.当设置为All的时候


点击下发的下拉框,可以看到此时拦截到两个线程,切换的时候右侧的值也会出现相应的变化。但是当点击next之后,这个断点就结束了。而我之前用的最多最熟悉的的也是这种,每一个断点走完了也就没了,想再次进入的时候只能再次调用该断点所在的方法。


2.当设置为thread之后


当第一次进入断点时,可以在下方清楚的看到thread-0 ,表示进入了第一个线程,与All的情况相同。点击下方的下拉框依旧会出现第二个线程,当切换到第二个线程的时候可以清楚地看到右方输出的结果不同。


但如果再点击next的时候,它仍旧停留在该断点。但是下方变成了thread-1,并且thread-0这个线程不再下方的下拉框中,如下图所示:


所以当设置超过一个线程的的时候点击next,就会发现又进入了一次断点。直到所有的线程都走完,断点才会结束。这样会很清楚地看到有断点在不同线程时的状态。

3.设置带条件的断点,

当发起多次请求的时候,有时候想要看到某条数据进入该断点时的状态,就可以在设置断点的时候,右击并在condition输入框中输入进入该断点时的条件,不管是多线程还是单线程的断点,都只会在符合条件的时候才会进入。减少了调试的时间,可以直接快速的达到调试的效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,324评论 0 10
  • 第5章 多线程编程 5.1 线程基础 5.1.1 如何创建线程 在java要创建线程,一般有==两种方式==:1)...
    AndroidMaster阅读 5,796评论 0 11
  • iOS调试之LLDB Xcode内嵌了LLDB控制台,在Xcode代码编辑区的下方。shift + cmd + y...
    comst阅读 5,476评论 0 3
  • LLDB的Xcode默认的调试器,它与LLVM编译器一起,带给我们更丰富的流程控制和数据检测的调试功能。平时用Xc...
    小笨狼阅读 20,769评论 31 186
  • 假如说每个人的命运都是上天注定的,我们无法决定自己生命的长度,但至少我们要有质量地活着。在这个世界里,我们每...
    江立_0b51阅读 3,411评论 0 0

友情链接更多精彩内容