Microsoft Visual Web Developer 2010 Expressでのデバッグ

MS Visual Web DeveloperとASP.NET 4.0を学びます。 MS Visual Web Developerでデバッグオプションを使用するのではなく、ページのソースを表示し、緑色の波状のスタイルで下線が引かれている部分にカーソルを置くことを好みます。私がそれらの上にマウスを置くと、それは何が間違っているかを教えてくれるので、そこから何をするのか分かります。

1つの特定の例については、私は持っていた:

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

After hovering over it, I replaced it with this:

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

After making the switch, the green squiggly line disappeared, so I assume that, in effect, I debugged that particular snippet. I believe I just made it compatible with the ASP.NET 4.0 Framework.

The only green squiggly lines I leave alone are the ones from social plugins like Facebook plugins. Anyway, my question is: Is what I'm doing (a) correct, (b) important, and (c) just as good as using the debugging option in MS Visual Web Developer?

2

2 答え

Visual Studio 2010で「Attach to Process」オプションが本当に好きですが、既にデプロイされているWebサイトやWebアプリケーションをデバッグするためにVisual Web Developer(デバッグ用のサーバーなど)を使用している場合は、このメソッドが好きですASP.NET開発サーバー(これは、プレイを打つことによって起動されます)を使用します。 asmx Webサービスを除き、アプリケーションでスローされたすべての例外は、明示的に処理されないとこのメソッドで捕捉されます。 Webルートフォルダに "例外"フォルダを作成してください。 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
追加された

ほとんどのASP.NET開発者は、サーバー側のコード(通常はC#またはVB.NETコード)をデバッグするためにDebugコマンド F5 を使用していなかったので、このデバッグは検討しません。詳細については、チュートリアル:Visual Web DeveloperのWebページのデバッグを参照してください。そのプロセス。

緑色の波線と呼ばれるものは、実際にあなたのHTMLに関する警告です。この場合、表の背景属性は公式のHTML仕様であり、これはVisual Web Developer Expressが警告していたものです。したがって、あなたのコードを ASP.NET 4.0フレームワークと互換性を持たせる ことはできませんが、マークアップをHTMLに準拠させる

あなたのコードがASP.NET 4.0と互換性がない場合は、通常は死の黄色い画面が表示されます。その時点で、エラーまたは例外の原因を見つけるためにデバッグする必要があります

Example yellow screen of death

To answer your question(s): what you were doing is (a) correct, is (b) important for browser-compatibility, is not (c) related to the debugging capability in Visual Web Developer Express.

1
追加された
対応に時間を割いてくれてありがとうMichielさん、ありがとうございます。私はあなたが言っていることを完全に理解しています。私は私のウェブサイト上のすべての警告の世話をしました。カップルを除いて(私のソーシャルブックマークのために持っているFacebookプラグインは好きではありませんが、とにかくそれを残しました)。 oyurの情報はすべて役に立ちました。MSのデバッグ用Webサイトへのリンクを投稿していただきありがとうございます。世話をする!
追加された 著者 Jason Weber,