根据问题"Step over" when debugging multithreaded programs in Visual Studio,请考虑以下情况:
线程A运行一些代码启动线程B并继续运行直到线程A需要线程B的结果。为了理智,让我们假设以下方案:
Thread A
line 1 // <---- Starts Thread B
line 2
line 3 // <---- Breakpoint
line 4
line 5 // <---- Wait for Thread B
Thread B
line 1
line 2 // <------ When the code breaks, stoped here
line 3
line 4
单击&#34;跳过&#34;会发生什么?按钮?
我可以想到三件事:
如果我被要求猜测,我会选择我的选项3.
在该行之后,有一种方法可以像我的选项2一样逐行调试线程吗?我问是否有任何C ++调试器能够暂停所有线程并逐行逐行?
答案 0 :(得分:0)
Windbg的步骤命令p
允许您指定哪些线程继续执行而其他线程保持冻结状态。见http://msdn.microsoft.com/en-us/library/windows/hardware/ff553496(v=vs.85).aspx
具体看一下命令开头的可选[~ Thread]
。