我试图让它工作:http: //msdn.microsoft.com/en-us/library/ms171381%28v=vs.100%29.aspx
更具体地说,正如其他页面所述,当使用即时窗口调用方法时,“如果函数或子例程包含断点,Visual Studio 将在适当的点中断执行。 ”
除了......它没有,至少对我来说。您可以使用这个虚拟 C++ 测试用例进行尝试:
#include "Windows.h"
void dbgbreak()
{
DebugBreak(); // set a second breakpoint here
}
int main ()
{
int i = 0;
i++; // set a first breakpoint here
return i;
}
设置源代码中提到的断点并运行。当调试器在i++处停止时,从立即窗口调用dbgbreak() 。
对我来说,调试器不会再次停止,即使有两个原因(调用方法内的显式第二个断点,以及 win32 API DebugBreak() 应该触发断点的事实)。
这是预期的行为吗?这似乎与文档所说的完全相反......我误解了什么吗?