社区
C#
帖子详情
多线程调试问题????
cwj007
2002-07-17 02:47:16
怎样才能在调试时从一个线程跳到另一个线程对其中的代码调试.
我 在程序中使用了Thread thread = new (new ThreadStart(myfun));
thread.start();
断点设在thread.start和myfun() 用F11就是进不去???为什么????
...全文
405
5
打赏
收藏
多线程调试问题????
怎样才能在调试时从一个线程跳到另一个线程对其中的代码调试. 我 在程序中使用了Thread thread = new (new ThreadStart(myfun)); thread.start(); 断点设在thread.start和myfun() 用F11就是进不去???为什么????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cad100
2002-07-27
打赏
举报
回复
下面是我的代码:
private void menuItem2_Click(object sender, System.EventArgs e)
{
Thread thread=new Thread(new ThreadStart(this.foo));
thread.Start(); //在这一行设置第一个断点
}
public void foo()
{
this.textBox1.Text+="blah..blah.."; //在这一行设置第二个断点
}
用F5运行以后,当程序运行到第一个断点即thread.Start()时,用Step Into或者Step Over的确无法再跟踪到第二个断点this.textBox1.Text+="blah..blah.."。
解决这个问题的方案是,在第一个断点的地方用Step Out(即Shift+F11)或者Continue(F5)。这样就可以跟踪到第二个断点了,您不妨试一试。
daehappy
2002-07-21
打赏
举报
回复
up!gz!
qqchen79
2002-07-17
打赏
举报
回复
无论程序停留在哪个断点,在Vs.NET的调试工具栏里都会有三个下拉菜单:
Program, Thread和Stack Frame。
使用Thread下拉菜单可以选择当前进程的所有可调试线程,你可以在里面找到你刚刚启动的那个线程(不过只列了ThreadID,要一个一个看过来才知道)。
还有,为什么不把断点直接设到Thread函数开始的地方呢?
cwj007
2002-07-17
打赏
举报
回复
谢谢你
Hogwarts
2002-07-17
打赏
举报
回复
To cwj007 (落叶夏日):
下面是我的代码:
private void menuItem2_Click(object sender, System.EventArgs e)
{
Thread thread=new Thread(new ThreadStart(this.foo));
thread.Start(); //在这一行设置第一个断点
}
public void foo()
{
this.textBox1.Text+="blah..blah.."; //在这一行设置第二个断点
}
用F5运行以后,当程序运行到第一个断点即thread.Start()时,用Step Into或者Step Over的确无法再跟踪到第二个断点this.textBox1.Text+="blah..blah.."。
解决这个问题的方案是,在第一个断点的地方用Step Out(即Shift+F11)或者Continue(F5)。这样就可以跟踪到第二个断点了,您不妨试一试。
Hogwarts - S(u)ddenly dis@ppeared...
-
本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。
VS中的
多线程
(/MT)、
多线程
调试
(/MTd)、
多线程
DLL(/MD)、
多线程
调试
DLL(/MDd)的区别
一种语言的开发环境往往会附带有语言库,这些库就是对操作系统的API的包装,我们也称这些语言库为运行库 对于MSVC的运行库(CRT),按照静态/动态链接,可以分为静态版和动态版;按照
调试
/发布,可以分为
调试
版本和发布版本;按照单线程/
多线程
,可以分为单线程版本和
多线程
版本(但是目前VS中已不提供单线程版本了) 在
调试
模式下,使用
调试
运行库:
多线程
调试
(/MTd)、
多线程
调试
DLL(/MDd) ...
GDB
多线程
调试
(
调试
命令+
调试
演示)
多线程
调试
(一)
多线程
调试
命令 shell的命令: (1)查看当前运行的进程:ps aux | grep book (2)查看当前运行的轻量级进程:ps -aL | grep book (3)查看主线程和子线程的关系:pstree -p 主线程id gdb的命令: (1)查看可切换
调试
的线程:info threads (2)切换
调试
的线程:thread 线程id (3)只运行当前线程:set scheduler-locking on (4)运行全部的线程:set schedul..
VS
多线程
调试
1.VS
多线程
调试
问题
描述 先看一下这个例子: 这里我的代码里有2个线程,一个线程在发送数据,另外一个线程在接收数据,上图中加断点的地方是发送线程的代码,接收线程中我有一个while循环在不断地打印日志。
调试
起来后当断点命令上图标记的位置时,可以发现接收线程停止打印日志了,这说明在VS中,当一个线程命中断点后,其它线程也不会再继续执行代码了。 2.解决VS
多线程
调试
的方法 2.1 无效方法 有同学说把上面红色放开标记的选项去掉勾选就可以,我也试了一把,并没有效果。 ...
gdb
多线程
调试
采用gdb
调试
代码时,经常遇到
多线程
的情况,但对gdb在
多线程
中的切换并不熟悉,导致排查
问题
很困难,所以整理下
多线程
调试
方法。如果只想n或者s单步
调试
锁定线程时:set scheduler-locking step。锁定当前线程,暂停其它线程:set scheduler-locking on,
调试
代码时先将代码跑起来,然后ctrl+c将代码中断。查看线程信息:i threads [id …注意:打了断点后,执行到断点会暂停所有线程。不指定id就查看所以的线程信息。切换线程:thread id。
多线程
——
多线程
debug
调试
(非常非常详细的
调试
)
在日常开发中我们经常会遇到
多线程
Debug
调试
, 一般我们都是利用Spring Boot对外提供接口,Tomcat中在有多人同时访问时,会开启
多线程
,但是,这时有可能发生异常。 说明接口在
多线程
访问中不是很稳定,这时就要利用
多线程
的Debug
调试
。 以下是一个小Demo来演示
多线程
的Debug
调试
public class LockDemoReetrantLock { priv......
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章