我的应用程序内置了自定义崩溃处理(请参阅 John Robbins 关于“调试 Windows 应用程序”的优秀书籍)。为了测试这个功能,我总是使用 Windows 函数 DebugBreak(),它总是很完美。但从 Windows 7 开始,调用此函数只会显示“已到达断点”并停止应用程序,而无需调用我的崩溃处理程序。
我总是可以将此代码放在我的应用程序中以测试崩溃功能:
int *ptr = (int *)0xdeadbeef;
*ptr = 123456789;
甚至添加几种情况,以防 0xdeadbeef 是有效地址:
int *ptr = (int *)0xdeadbeef;
*ptr = 123456789;
ptr = (int *)0L;
*ptr = 123456789;
ptr = (int *)0xffffffff;
*ptr = 123456789;
但我想知道:难道没有一种更简洁的方法可以让你的应用程序在 Windows 下崩溃吗?