Visual Studio中如何进行多线程调试

       多线程的应用通常使得我们的程序调试变得困难和复杂,但是也是有章法可言的。在设计和开发多线程的程序时,需要考虑的就是多线程之间的资源共享和相互协作;资源共享和协作通常使用互斥量和信号量机制进行解决;我们在调试多线程程序时,不能把程序运行过程仅局限在某一个线程的行为上,而应该纵观全局,分析各个线程的行为;

      在使用Visual Studio开发工具进行多线程程序调试时,我们可以很方便的使用VS工具提供的Threads窗口,来观察各个程序的行为和调用栈,方便定位问题;点击Debug菜单项,选择Windows子项;继续进行Threads窗口如下:

     Visual Studio中如何进行多线程调试_第1张图片

     在Location列,我们可以很方便的观察各个线程的调用栈,以及根据左边的箭头,来明确正在调试线程; 

     在进行单步调试时,有时VS也会通过断点上的提示,来告诉程序开发者,当前程序的线程已经发生了变更,这个时候就需要使用Threads窗口来辅助分析程序的行为;

你可能感兴趣的:(Visual Studio中如何进行多线程调试)