IDEA多线程下多个线程切换断点运行调试的技巧

<div id="cnblogs\_post\_body" class="blogpost-body"><p>多线程调试设置可以参考:http://www.cnblogs.com/leodaxin/p/7710630.html</p> <p>&nbsp;</p> <p>1 断点设置如图:</p> <p><img src="https://images2017.cnblogs.com/blog/1222943/201710/1222943-20171022213237224-1754206359.png" alt=""></p> <p>&nbsp;</p> <p>&nbsp;</p> <p>2 测试代码,然后进行debug</p> <div class="cnblogs\_code"><div class="cnblogs\_code\_toolbar"><span class="cnblogs\_code\_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="https://my.oschina.net//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div> <pre><span style="color: #0000ff;">package</span><span style="color: #000000;"> com.daxin;

</span><span style="color: #0000ff;">import</span><span style="color: #000000;"> java.util.HashMap;

</span><span style="color: #008000;">/**</span><span style="color: #008000;">

  • Created by Daxin on 2017/10/22. </span><span style="color: #008000;">*/</span> <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span><span style="color: #000000;"> HashMapInfiniteLoop { </span><span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span> HashMap<Integer, Integer> map = <span style="color: #0000ff;">new</span> HashMap<Integer, Integer>(2, 0.75f<span style="color: #000000;">);

    </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">void</span> main(String[] args) <span style="color: #0000ff;">throws</span><span style="color: #000000;"> InterruptedException { map.put(</span>5, 55<span style="color: #000000;">);

    1 </span><span style="color: #0000ff;">new</span> Thread("Thread1-Name"<span style="color: #000000;">) { 2 </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> run() { 3 System.out.println(</span>"Thread1-Name Start"<span style="color: #000000;">); 4 </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> { 5 Thread.sleep(</span>5000<span style="color: #000000;">); 6 } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (InterruptedException e) { 7 e.printStackTrace(); 8 } 9 map.put(</span>7, 77);<span style="color: #008000;">//</span><span style="color: #008000;">断点位置 1</span>

<span style="color: #000000;"> System.out.println(map); }

1 }.start(); 2 </span><span style="color: #0000ff;">new</span> Thread("Thread2-Name"<span style="color: #000000;">) { 3 4 </span><span style="color: #0000ff;">public</span> <span style="color: #0000ff;">void</span><span style="color: #000000;"> run() { 5 </span><span style="color: #0000ff;">try</span><span style="color: #000000;"> { 6 System.out.println(</span>"Thread2-Name Start"<span style="color: #000000;">); 7 Thread.sleep(</span>5000<span style="color: #000000;">); 8 } </span><span style="color: #0000ff;">catch</span><span style="color: #000000;"> (InterruptedException e) { 9 e.printStackTrace(); 10 } 11 map.put(</span>3, 33);<span style="color: #008000;">//</span><span style="color: #008000;"> 断点位置2</span>

<span style="color: #000000;"> System.out.println(map); }

1 }.start(); 2 3 4 </span><span style="color: #008000;">//</span><span style="color: #008000;"> 断点位置 3</span> 5 System.out.println("Thread-Main-Name Start"<span style="color: #000000;">); 6 System.out.println(</span>"Thread-Main-Name Start"<span style="color: #000000;">); 7 System.out.println(</span>"Thread-Main-Name Start"<span style="color: #000000;">); 8 9 10 Thread.sleep(</span>500000<span style="color: #000000;">); 11 12}

}</span></pre>

<div class="cnblogs\_code\_toolbar"><span class="cnblogs\_code\_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="https://my.oschina.net//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div> <p>&nbsp;</p> <p>3:启动debug,我们可以在Threads Tab选项双击需要进行单步调试的线程</p> <p><img src="https://images2017.cnblogs.com/blog/1222943/201710/1222943-20171022170729912-1182726368.png" alt=""></p> <p>然后选择Frames Tab选项中调试的线程进行快捷键调试即可。</p> <p>&nbsp;<img src="https://images2017.cnblogs.com/blog/1222943/201710/1222943-20171022171104177-1249856068.png" alt=""></p> <p>&nbsp;</p></div> 原文地址:https://www.cnblogs.com/jpfss/p/10944716.html
点赞
收藏

评论区

加载中...

相关推荐

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(

手写Java HashMap源码

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

java native方法与JNI实现

<divid"cnblogs\_post\_body"class"blogpostbody"<p<spanstyle"color:ff0000"<strongnative方法定义:</strong</span&nbsp;&nbsp;&nbsp;&nbsp;</p<p&nbsp;&nbsp;&nbsp;简单地讲

mysql设置时区

mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0

Django中Admin中的一些参数配置

设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable