开发者

Identifying threads in VS .NET 2003

开发者 https://www.devze.com 2022-12-13 10:35 出处:网络
I\'m converting a Linux program to a Windows program using Visual Studio.NET 2003. The code was written using pthread.

I'm converting a Linux program to a Windows program using Visual Studio.NET 2003. The code was written using pthread.

I have a First-chance exception at 0x100084c8 in project.exe: 0xC0000005: Access violation reading location 0x000001dc error that is causing my program to crash and all, but one thread has exited with code 0 (0x0). The one thread (0xfe4) exited with code -1073741819 (0xc0000005). I read that if threads exited with code 0, then everything is fine. I'm guessing the one thread th开发者_运维知识库at did not cause the error, especially the same code 0xC0000005 showed up.

As there are groups of threads doing different tasks, I wish to track down the thread that did not exit correctly, so as to debug the program. Is there a way to identify which thread it is, like using the (0xfe4) value?


Go to Debug->Windows->Threads in the menu.

You can also go to Debug->Exceptions... Then open the Win32 Exceptions sub tree and click the text box next to "c0000005 Access violation" and it should break when the violation occurs.


I found it useful to also name threads to make it easier to distinguish them in the debugger: When you create new threads (using the Thread class) you can set the Name property. This name will show up when you debug in Visual Studio.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号