【问题标题】:An applet gets Windows 7 to freeze completely一个小程序让 Windows 7 完全冻结
【发布时间】:2011-06-21 07:48:09
【问题描述】:

我有一个小程序可以让 Windows 7 完全冻结,鼠标指针不再响应,ctrl-alt-del 不再起作用等等。

当我打开任务管理器时,它没有显示任何显着的 CPU 负载或过多的内存使用。

在 Eclipse 上调试时有时也会发生冻结,但并非总是如此。

我不太确定应该在哪里设置断点,因为它是一个相当大的 GUI 应用程序。

这可能是 JVM 中的错误吗?小程序做这样的事情难道不是不可能的吗?

编辑:为了回答我自己的问题,我在 Eclipse 中发现了错误,似乎对 Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null) 的调用让整个系统冻结,这非常令人惊讶因为 Excel 文件只有 1 MB。也许剪贴板并不是真正为这种情况而设计的。

【问题讨论】:

  • 回答您帖子中带问号的部分,不,这不应该发生,是的,您可能发现了一个错误。你能尝试创建一个最小的代码 sn-p 来重现崩溃吗?

标签: java debugging windows-7 jvm


【解决方案1】:

使用jStack 生成线程转储。这样你就会知道代码在做什么。要使用它:

C:\your_java_bin_folder> jstack -l <process-id>

您可以从任务管理器中获取进程 ID。 jStack 是 jdk 的一部分(据我所知,自 1.5 以来)。

【讨论】:

    猜你喜欢
    • 2011-11-07
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多