今回は意図的にw3wp.exeをクラッシュさせるプログラムを考えました。
AzureのPaasのCloudServiceでクラッシュダンプの転送をWindows Azure Diagnosticsを使用して行います。
TableStorage、BlobStorageに転送されてくれば成功です。
はじめは少し苦戦して、OutofMemoryの例外を出せばクラッシュすると思いましたが、正常な例外が発生しただけでした。
MVCで作りました。
sample1.cs
public ActionResult Crash()
{
CrashMethod("HogeHoge---");
return View();
}
private void CrashMethod(string s)
{
CrashMethod(s);
}
または、
sample2.cs
async Task<string> GetAsync()
{
var str = await new HttpClient().GetStringAsync("http://hogehoge.com/");
return str;
}
public ActionResult Index()
{
var s = GetAsync().Result;
return View();
}
うまくクラッシュダンプを転送させることができました。