【问题标题】:how to force apache to crash?如何强制apache崩溃?
【发布时间】:2010-05-14 16:48:36
【问题描述】:

我想在 apache 崩溃时测试一些东西。我要测试的事情涉及 Windows 询问我是否要发送错误报告。有什么方法可以让 Apache 崩溃并要求我发送错误报告?

【问题讨论】:

  • I want windows to display send error report。你能提供更多关于你到底想做什么的细节吗?
  • 我希望 apache 以某种方式崩溃,Windows 会给我一个框,告诉我将错误报告发送给 Microsoft
  • 我有个主意。将调试器附加到 Apache 并覆盖一些内存(代码段内存)。那应该是段错误

标签: php windows apache crash windows-error-reporting


【解决方案1】:

只需终止正在运行的 apache 实例即可。

在windows中:进入taskmanager>杀死进程

在 linux 中: pkill 进程名

【讨论】:

  • -1:杀死进程不等于引发异常或模拟崩溃。
  • 杀死会模拟机器崩溃。如果不是,那么我很想知道,有什么区别?我敢肯定,接受的答案中提到的应用程序在内部做同样的事情。
【解决方案2】:

看看Advanced Process Termination,尤其是它的crash 选项,它们可能会做你想做的事(显示发送错误报告消息框),虽然我还没有测试过。不过值得一试。

【讨论】:

  • 强制崩溃似乎在 Windows7 上不起作用,但仍然是一个简洁的工具。
  • @IVlad 在发布的链接上收到 404。
  • @zengr 我更新了链接,但是该应用似乎是废弃软件。
【解决方案3】:

我同意早先的想法,即您应该使用 Windows 使其崩溃。

apache 的基本原理是,对于每个连接请求,它都会“分叉”一个新进程。由于 Windows 没有内置的“fork”功能,它必须为每个请求创建一个新进程。因此,它可能会出现故障,尤其是在运行多个进程时。

对我来说,每次我在 Windows 上“重新启动”apache 同时保持连接时,都会从 Apache 的进程中得到一个“非法操作”。不确定是否可以 100% 重现,但是当我重新启动时,我确实会不时发生这种情况。

【讨论】:

    【解决方案4】:

    Alex 提供了一个可能的answer here

    Microsoft Application Verifier [...] 可以进行故障注入(低资源模拟),以可配置的速率使各种 API 调用失败。 [...]

    【讨论】:

      猜你喜欢
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 2011-09-10
      • 2015-07-10
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多