DebugDiag и MVC4 не дают полезной трассировки стека
Я только что столкнулся с высокой загрузкой ЦП на нашем производственном сервере и решил попрактиковаться в отладке таких ситуаций локально, чтобы быть готовым к этому в будущем, но когда я пытаюсь отладить локальный сайт MVC4, я не получаю ту же информативную трассировку стека, что и учебник делает.
Вопрос: Кто-нибудь знает, возможно ли получить более информативную трассировку стека?
Я ожидал бы увидеть HomeController.Index где-нибудь, но единственный вызов метода, который я вижу:
System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion (IntPtr, System.Web.RequestNotificationStatus ByRef)
Локальная настройка
Я создал локальный сайт MVC4, используя .Net 4, работающий на локальном IIS 8.0 (НЕ iis express) для имитации среды сервера. Моя локальная машина работает под управлением Windows 8.
Инструмент отладки: Debug Diagnostics 1.2
Я перешел по этой ссылке: http://www.iis.net/learn/troubleshoot/performance-issues/troubleshooting-high-cpu-in-an-iis-7x-application-pool устранение неполадок-high- cpu- in-an-iis- 7x-application-pool
На рисунке 6 - отчет об анализе DebugDiag. есть скриншот трассировки стека с верхней строкой, содержащей "FastApp._default.Page_Load(System.Object, System.EventArgs).
Скриншот учебника:
Мой скриншот:
Мой код, имитирующий максимальное использование процессора:
public class HomeController : Controller
{
public ActionResult Index(int seconds)
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
DateTime start = DateTime.Now;
while (DateTime.Now.Subtract(start) < TimeSpan.FromSeconds(seconds))
{
"".ToString();
}
return View();
}
}
Возможный дубликат:
1 ответ
Отладка Diag 1.2 может не дать вам правильные трассировки стека для.net framework 4.0. На самом деле это не совсем правильный стек для.net 4.5.
Вы должны использовать Debug Diag 2.0 для анализа дампов памяти, предназначенных для платформы 4.0 и выше. Вы можете получить этот инструмент по http://www.microsoft.com/en-us/download/details.aspx?id=40336