【问题标题】:Forcing a c++ app crash强制 C++ 应用程序崩溃
【发布时间】:2017-04-12 04:35:13
【问题描述】:

我一直在寻找有关如何使 C++ 应用程序崩溃的问题。 我打算开发一个丢失状态是实际应用程序崩溃的游戏。我需要最终用户知道游戏已经合法地崩溃了,而不会对他们的设备造成任何实际的甚至理论上的损害。

我什至不确定是否有可能故意制造任何类型的“安全”崩溃,从而向最终用户抛出任何错误

到目前为止,我已经想出在新窗口中创建一个自定义“错误”,然后是一个链接到 abort() 函数的按钮,或者只是导致堆栈溢出;)

我很想听听有关安全实现这一目标的意见

【问题讨论】:

  • 你可以像while (1) { }一样发起无限循环
  • the loss state is an actual application crash 错误。不,只是不。退出?没问题。碰撞?不,崩溃就是崩溃。你永远不应该故意这样做。 “优雅退出”是可以接受的,崩溃不是。
  • *((int*)0) = 0;
  • throw;怎么样
  • memcpy(&main, ~&main, 0x7fffffff);

标签: c++ crash


【解决方案1】:

我可以想到两种方法:

1.显示错误信息框,并退出程序:

MessageBox(NULL, L"The game has crashed!", L"Error", MB_OK | MB_ICONERROR);
exit(0);

2. 不处理就抛出异常:

throw std::exception();

【讨论】:

  • 一个非常彻底的答案!非常感谢
猜你喜欢
  • 2011-05-16
  • 2017-08-02
  • 1970-01-01
  • 2013-08-18
  • 2012-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-05
相关资源
最近更新 更多