多线程调试问题????

cwj007 2002-07-17 02:47:16
怎样才能在调试时从一个线程跳到另一个线程对其中的代码调试.
我 在程序中使用了Thread thread = new (new ThreadStart(myfun));
thread.start();
断点设在thread.start和myfun() 用F11就是进不去???为什么????
...全文
405 5 打赏 收藏 转发到动态 举报
写回复
用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))。




110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧