Отладка в Microsoft Visual Web Developer 2010 Express - PullRequest
2 голосов
/ 19 декабря 2011

Обучение MS Visual Web Developer и ASP.NET 4.0.Вместо того, чтобы использовать опцию отладки в MS Visual Web Developer, я предпочитаю просматривать исходный код страницы и наводить курсор на области, которые подчеркнуты зеленым волнистым стилем.Когда я наводю на них курсор, он говорит мне, что не так, и затем я просто выясняю, что делать дальше.

Для одного конкретного случая у меня было:

<td background="images/separater.png" width="5">

После зависанияповерх него я заменил его следующим:

<td style="background-image: url(images/separater.png)" width="5">

После переключения зеленая волнистая линия исчезла, поэтому я предполагаю, что фактически отладил этот конкретный фрагмент.Я полагаю, что только что сделал его совместимым с ASP.NET 4.0 Framework.

Единственные зеленые волнистые линии, которые я оставляю в покое, - это те, что есть в социальных плагинах, таких как плагины Facebook.Во всяком случае, мой вопрос: Является ли то, что я делаю (а) правильно, (б) важно и (в) так же хорошо, как использование опции отладки в MS Visual Web Developer?

Ответы [ 2 ]

1 голос
/ 23 июля 2013

Я действительно предпочитаю параметр «Присоединить к процессу» в Visual Studio 2010, но если вы используете Visual Web Developer (на сервере, например, для отладки) для отладки веб-сайта или веб-приложения, которое уже развернуто, якак этот метод по сравнению с использованием сервера разработки ASP.NET (который запускается при нажатии Play).Каждое исключение, генерируемое в вашем приложении, за исключением веб-сервисов asmx, перехватывается в этом методе, если они явно не обрабатываются.Просто убедитесь, что вы создали папку «исключений» в корневой веб-папке.Отладчику требуется намного больше времени для запуска приложения после нажатия кнопки воспроизведения в Visual Web Developer 2010, поэтому я предпочитаю настраивать сайт в IIS, а затем отправлять трассировку стека в файл, поскольку это то, что вас волнуеттем не мение.Если вам нужно больше подробностей о переменных из исключения, перехватите исключение, где оно происходит, и сгенерируйте новое исключение со значением этой переменной в нем.При поиске последнего стека вызовов исключений просто откройте эту папку и выполните сортировку файлов.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;

namespace WebApplication1
{
    public class Global : System.Web.HttpApplication
    {

        protected void Application_Start(object sender, EventArgs e)
        {

        }

        protected void Session_Start(object sender, EventArgs e)
        {

        }

        protected void Application_BeginRequest(object sender, EventArgs e)
        {

        }

        protected void Application_AuthenticateRequest(object sender, EventArgs e)
        {

        }

        protected void Application_Error(object sender, EventArgs e)
        {
            Exception ex = Server.GetLastError();
            try
            {                
                WebApplication1.Global.WriteDataToFile(null, ex.StackTrace);
            }
            catch
            {
                throw ex;
            }
        }

        public static void WriteDataToFile(string filePath, string contentToWrite)
        {
            if (filePath == null)
            {
                filePath = string.Format(@"C:\web_root\exceptions\debug.{0:yyyy-MM-dd_hh.mm.ss.tt}.txt", DateTime.Now);
            }

            System.IO.StreamWriter sw = new System.IO.StreamWriter(filePath);
            sw.WriteLine(contentToWrite);
            sw.Close();
        }

        protected void Session_End(object sender, EventArgs e)
        {

        }

        protected void Application_End(object sender, EventArgs e)
        {

        }
    }
}
1 голос
/ 20 декабря 2011

Большинство разработчиков ASP.NET не рассматривают эту отладку, поскольку вы не использовали команду Debug F5 для отладки кода на стороне сервера (обычно кода C # или VB.NET),См. Пошаговое руководство. Отладка веб-страниц в Visual Web Developer для получения дополнительной информации об этом процессе.

То, что вы называете зелеными волнистыми линиями, фактически является предупреждением о вашем HTML.В этом случае атрибут background для таблиц не является частью официальной спецификации HTML , и об этом вас предупреждал Visual Web Developer Express.Следовательно, вы не не сделали свой код совместимым с ASP.NET 4.0 Framework , но вы сделали свою разметку HTML-совместимой.

Если ваш код не совместим с ASP.NET 4.0, у вас обычно появляется желтый экран смерти, после чего вам может потребоваться отладка, чтобы найти причину ошибки или исключения

Example yellow screen of death

Чтобы ответить на ваш вопрос (ы) : то, что вы делали, (а) правильно, (б) важно для совместимости с браузером, не связано (в) с возможностями отладки в VisualВеб-разработчик Express.

...