2

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

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

それの上にマウスを移動した後、私はこれでそれを置き換える:

1つの特定のインスタンスのために、私が持っていた、緑の波線が消えスイッチを行った後

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

ので、私実際には、その特定のスニペットをデバッグしたとします。私はちょうどそれがASP.NET 4.0フレームワークと互換性があると考えています。

Facebookのプラグインのようなソーシャルプラグインのものだけが私が放っている唯一の緑色の波線です。とにかく、私の質問は:私は(a)正しい、(b)重要な、そして(c)MS Visual Web Developerのデバッグオプションを使用するのと同じくらい良いですか?あなたがデバッグコマンドを使用していなかったので、

答えて

1

ほとんどのASP.NET開発者は、、このデバッグを考慮していないでしょうF5デバッグサーバー側のコード(通常はC#やVB.NETコード)に。そのプロセスの詳細については、Walkthrough: Debugging Web Pages in Visual Web Developerを参照してください。

緑色の波線とは、実際にあなたのHTMLに関する警告です。この場合、テーブルの背景属性はofficial HTML specificationの一部ではなく、これはVisual Web Developer Expressが警告していたものです。したがってコードはASP.NET 4.0フレームワークと互換性がありますが、でした.HTMLに準拠しています。

あなたのコードは、ASP.NET 4.0と互換性がない場合は、通常、あなたがその時点で死の黄色の画面は、エラーまたは例外

Example yellow screen of death

の原因を見つけるために、デバッグする必要があります

質問に答えるには:あなたがしていたことは、(a)正しく、(b)ブラウザとの互換性にとって重要であり、(c)Visual Web Developer Expressのデバッグ機能に関連していません。

+0

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

1

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) 
     { 

     } 
    } 
} 
関連する問題