c# 如何让多线程断点执行到?

问题描述

如题,Classa{publica(){A1a1=newA1();threadt1=newthreada(newthreadstart(a1.func1))t1.start();A2a2=newA2();threadt2=newthreada(newthreadstart(a2.func2))t2.start();}}ClassA1(){publicfunc1(){...断点1}}ClassA2(){publicfunc2(){...断点2}}问题:为什么我程序执行的时候,断点1能断点到,断点2不能,非要1执行过去,进入到Thread.sleep这样空闲的时候才能执行到断点2,按照我的想法,应该是2个断点都能同时断到,这个应该是vs设置问题吧。哪里可以设置阿

解决方案

解决方案二:
同时断到你应该知道同时这个词在线程里就是不能办到的
解决方案三:
我的意思是说,我等着时间,断点1断在那里,断点2也断在那里,2个都能被断点截获
解决方案四:
补充,等于说2个线程的2个断点分别被断点截获,我可以“人为”选择一个线程单步执行,然后选择另一个线程单步执行。
解决方案五:
哥,你不知道CPU怎么工作的么?然后就是你知道中断点后程序就暂停了么?如果你想看多个线程的运行情况,你应该用输出语句,而不是断点。
解决方案六:
线程执行也是有先后的。。。
解决方案七:
如果你想看线程的执行情况,最好用Trace显示。。。
解决方案八:
这是不行的。不要多想了。
解决方案九:
我以为可以阿,Eclipse运行java就可以设置断点,然后按照我说的执行单步,为什么这个不可以。
解决方案十:
引用8楼supersunyi的回复:

我以为可以阿,Eclipse运行java就可以设置断点,然后按照我说的执行单步,为什么这个不可以。

可以同时中两个断点?能给个截图看看么,第一次听说有能同时中两个断点的,中断点然后单步执行不是问题,问题是真的是同时中两个断点?
解决方案十一:
我不是说同一个点,我举个例子,线程1每1秒运行一次,线程2每2秒运行一次,我先设定2个断点,分别在线程1和2上,运行程序后,1秒后线程1的程序运行到断点处,停止运行,再1秒后,线程2的程序运行到断点处,停止运行,这个时候我可以通过vs上某个地方,看见有2个断点被停止在那里,然后我选择一个线程,单步执行。以上是我根据Eclipse的情况说一遍,我觉得这个应该可以的阿/
解决方案十二:
Eclipse没用过,无法理解你说的过程。不过多线程调试,真不适合断点。用输出语句或者打log文件会更好的看到效果。我个人比较喜欢用Console.WriteLine();
解决方案十三:
线程工作原理是这样的,根据你的电脑性能等因素处理数据量线程1:————  ————线程2:————————首先创建一个winform窗体《分别添加一个label和一个button,双击button粘上去下面代码》然后断点你跟一下,看看intShu=0;privatevoidbutton1_Click(objectsender,EventArgse){Threadt1=newThread(newThreadStart(func1));t1.Start();Threadt2=newThread(newThreadStart(func2));t2.Start();}publicvoidfunc1(){Thread.Sleep(1000);label1.Invoke(newMethodInvoker(delegate{label1.Text="5";}));Thread.Sleep(2000);}publicvoidfunc2(){Thread.Sleep(2000);label1.Invoke(newMethodInvoker(delegate{label1.Text="10";}));Thread.Sleep(2000);}

时间: 2024-11-06 03:48:12

c# 如何让多线程断点执行到?的相关文章

一个关于C++ 6.0多线程断点调试的问题

问题描述 一个关于C++ 6.0多线程断点调试的问题 C++ 6.0的MFC调试多线程并发,下了一个断点,程序停不住,别的线程还在执行,这是怎么回事?怎么把全部的线程的全部的程序停住? 解决方案 参考:http://blog.csdn.net/feixiaoxing/article/details/7043631 解决方案二: 多线程可以用frozen,你下断点代码所在线程没有执行到,就没停

当输入3个字母以上,执行到if (node[p].lchild == c) 无法读取内存

问题描述 当输入3个字母以上,执行到if (node[p].lchild == c) 无法读取内存 #include #include #include #define MAXBIT 100 #define MAXVALUE 10000 #define MAXLEAF 30 #define MAXNODE MAXLEAF*2 -1 using namespace std; typedef struct{ int bit[100]; int start; }Code; typedef struct

Android实现多线程断点下载的方法

  本文实例讲述了Android实现多线程断点下载的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69

执行到httpclient.execute(post)就不执行了是为什么?

问题描述 执行到httpclient.execute(post)就不执行了是为什么? 解决方案 httpClient访问网络,httpclient.execute(httpGet)方法不执行问题httpclient.execute()不执行也不报错解决办法关于ScheduledExecutorService执行一段时间之后就不执行的问题 解决方案二: 是不是在等服务器响应?

数据库连接断开后,执行到hibernate语句时,程序不往下执行

问题描述 数据库连接断开后,执行到hibernate语句时,程序不往下执行 程序运行时,如果数据库服务没有开,或者数据库服务关闭后,当执行到hibernate查询数据库等操作时,程序就不往下执行,就会一直卡在hibernate这里,有什么办法解决吗?也不报错误,就不走了,可以设置超时时间吗,谢谢大家 解决方案 怎么会一直卡下去呢,如果数据库关闭,hibernate肯定会在一定时间内做出响应的.上代码 解决方案二: 不报错误?应该会错误才对啊!会报连接超时或者数据库拒绝连接! 解决方案三: 应该会

for-输入的n太大,如111111111,但是没有溢出,为什么不能执行到printf(“1”);

问题描述 输入的n太大,如111111111,但是没有溢出,为什么不能执行到printf("1"): void Build(DuLinkList *L,int n)//环的建立 { int i; DuLinkList p,q; *L = (DuLinkList)malloc(sizeof(DuLNode)); (*L)->number = 1; srand((int)time(NULL)); (*L)->key = rand()%10+1; if(n<=0){ pri

activex-JSP调用OCX不自动执行到OnCreate

问题描述 JSP调用OCX不自动执行到OnCreate 请教诸君,是否在OCX开发的是否有遇到如下现象: 用MFC写的OCX控件(ODL)的,在被JSP脚本引用后,点击IE的告警后,OCX不直接进入到OnCreat函数中,而是需要点击一下OCX的引用区域,才会执行过去,里面的方法是可以正常调用的请问有朋友遇到过相似的问题吗?希望给出一些意见,谢谢诸位.

MFC和SNMP++ 执行到“Snmp snmp(status);”时发生死机

问题描述 MFC和SNMP++ 执行到"Snmp snmp(status);"时发生死机 http://bbs.csdn.net/topics/360262858和这个哥们儿的问题一趟,他说把那个调用做成类后解决问题了,但是我不会做呃-- 求大神指导 解决方案 SNMP 介绍

Handle和多线程断点下载

一般来讲服务器只允许同一IP同时开着3到5条线程去下载一个资源.所以客户开着许多线程去下载不一定就很快! 注意: (1)为进度条设置样式:style="?android:attr/progressBarStyleHorizontal"其中?表示引用 <ProgressBar style="?android:attr/progressBarStyleHorizontal"     android:layout_width="fill_parent&qu