破坏您的JVM
正如我們最近發現的那樣,全面測試可能有害。 擴展測試覆蓋范圍導致我們僅花費一行代碼就進行了幾個小時的調試會話。 使調試特別令人不愉快的是,該代碼不僅崩潰了所部署的JVM,而且還破壞了其下的虛擬機和/或物理機。
因此,請自行承擔以下風險。 請注意,您必須在類路徑中提供tools.jar以便進行編譯和運行。
代碼非常簡單。 我們正在嘗試將自己附加到一個現有的Java進程,該進程指定-1作為進程ID。 除了得到很好的失敗,您還會得到類似于死亡藍屏的東西。
關于崩潰的有趣見解-這幾乎是我記得承認Windows優于Mac OS X或Linux的唯一情況。 當Mac和各種Linux風格不斷崩潰時,Windows機器進行了很好的測試,并通過“無此過程”消息按預期警告我們。
我們從此案中學到了什么? 首先–提供JVM沙箱保護操作系統免受瘋狂嘗試自殺的威脅,這本身就是一件好事。 我們重新學習的另一個教訓是–即使使用所有現代的運行時調試工具,在某些情況下,您仍然需要回到根源并通過良好的舊分而治之進行調試。
翻譯自: https://www.javacodegeeks.com/2013/11/crashing-your-jvm.html
總結
- 上一篇: 手机电池充满后为什么显示电量不足
- 下一篇: 收购交易失败后,英特尔与高塔半导体达成代