怎麼撞R?



Answers

GitHub上一整套專用於此的軟件包

緊急

R包故意崩潰R會話。 警告:用於測試。

如何從github安裝包也包含在其他問題中。

Question

有沒有一種簡單的方法來觸發R中的崩潰? 這僅用於測試目的,以查看在後台使用R的某個程序如何對崩潰做出反應並幫助確定是否有一些罕見的問題是由於崩潰造成的。




正如您對問題的評論中所提到的,最小方法是對系統函數abort()的簡單調用。 在一行中執行此操作的一種方法是

R> Rcpp::cppFunction('int crashMe(int ignored) { ::abort(); }'); 
R> crashMe(123)
Aborted (core dumped)
$ 

或者您可以使用內聯包:

R> library(inline)
R> crashMe <- cfunction(body="::abort();")
R> crashMe()
Aborted (core dumped)
$ 

您當然也可以在Rcpp或內聯之外執行此操作,但是您需要處理與系統相關的編譯,鏈接和加載方式。




Related



Tags

r r   crash