2013-02-19 103 views
2

我继承了C#和VB.Net是否有可能捕获线程开始和结束事件?

虽然我与它的工作,我得到一个相当大的视觉工作室的WinForms项目在调试窗口,这样的消息:

The thread '<No Name>' (0x1194) has exited with code 0 (0x0). 
The thread '<No Name>' (0x664) has exited with code 0 (0x0). 
The thread '<No Name>' (0x14b0) has exited with code 0 (0x0). 

在努力更好地理解软件,我很好奇调查这些线程是什么。有没有我可以使用的工具或调试选项?我可以打开这些工具,这将允许我在创建/终止新线程时中断吗?

注意:我在所有“... = new Thread”和“... .RunWorkerAsync()”代码上都卡住了断点,我都找不到它们。

+0

任何时间'Task.Run'(或者它是由一个返回'Task'的方法内部使用),使用它也可能创建一个线程,如果有ThreadPool中没有活动线程。 – 2013-10-13 23:30:38

回答

0

在Thread类有,你可以设置一个名称属性。当你改变它时,输出中的“No Name”文本将被你在那里设置的内容替换。这将使你更容易看到发生了什么。

Thread MyThread = new Thread(...); 
MyThread.Name = "MyName"; //Can only be set once. 
MyThread.Start(....); 
+0

谢谢哈利!不幸的是,我不知道什么是开始线程这是我试图解决的问题。我希望如果我能够阻止线程开始和停止事件,我也可以找出创建它们的原因。 – 2013-10-13 23:40:27

相关问题