2017-01-20 7 views
2

私はC#ASP.net Webサイトを持っています。ローカルでは、デバッグでそれを実行し、コードをステップ実行して、何かがうまくいかない理由を見ることができますが、私のライブサイトでホストされているとき、私はこれを行うことができません。ライブASP.net Webサイトのデバッグ

私のウェブサイトで起こっていることをデバッグする最良の方法は何ですか?

debut/output/trace文を追加する必要がありますか?

もしそうなら、どのようにすればこれらの出力を見ることができますか? Chrome - >デベロッパーツールで何とか表示できますか?

たとえば、私は自分のサイトにユーザーを登録することができます。そのため、データベースの接続は良好ですが、登録ユーザーはログインできず、理由を知りたいことがあります。

ありがとうございました

+0

'Trace'とDebugViewは良いログフレームワークの中であなたの友人です。 –

+0

ライブウェブサイト上のこれらの出力はどのように表示されますか? –

+0

ライブサイトのコードをデバッグしたり、実行したりするのは意味がありますか? –

答えて

1

アプリにトレースログとデバッグログを追加できます。簡単にするために、あなたはあなたが実際にあなたがそれ例えば

public class Log 
    { 

     internal static bool RecordLog(string strSource, string strMethodName, string strStatement)//additional params you think appropriate for your logs 
     { 


       List<string> lstInfo = new List<string>(); 

       string strProductName = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location.ToString()).ProductName.ToString(); 
       string strProductVersion = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location.ToString()).ProductVersion.ToString(); 

       try 
       { 
        strProductName = FileVersionInfo.GetVersionInfo(Assembly.GetCallingAssembly().Location.ToString()).ProductName.ToString(); 
        strProductVersion = FileVersionInfo.GetVersionInfo(Assembly.GetCallingAssembly().Location.ToString()).ProductVersion.ToString(); 
       } 
       catch 
       { 
       } 

       try 
       { 
        lstInfo.Add("** Date=" + DateTime.Now.ToString("d MMM yy, H:mm:ss") + ", " + strProductName + " v" + strProductVersion); 
        lstInfo.Add("Source=" + strSource + ", Server=" + strServerIP + ""); //add more info in list as per rquirement     

        bool flag = blnWriteLog("LogFilename", lstInfo); 
       } 
       catch (Exception objEx) 
       { 
       //exception handling 
       } 

      return true; 
     } 

     private static bool blnWriteLog(string strProductName, List<string> lstInfo) 
     { 
      string strPath = strGetLogFileName(strProductName); 
      using StreamReader write in the log file received 

      return true; 
     } 

     private static string strGetLogFileName(string strFilePrefix) 
     { 
      //logic to check your file name, if it exists return name else create one 

      return strFile; 

     } 
    } 

にログクラスといくつかの関数を作成することが可能な独自のロギングメカニズムを書くことができます http://nlog-project.org/ https://serilog.net/

+0

ライブウェブサイトのトレースおよびデバッグログはどこで表示されますか? –

+1

ログを書き込む場所をn-logとserilogに設定できます。 https:// githubを参照してください。COM/nlog/NLog /ウィキ/データベース・ターゲット https://github.com/serilog/serilog/wiki/Provided-Sinks –

1

のように、ロギングフレームワークを使用することができ、その後のことができます、上記はそれを行うためだけの提案方法でも、他の多くのかつ効率的な方法

0123があることができます:あなたのファイルから

Log.RecordLog()// Values as per your code and requirement 

注意を同じを使用します

1

組み込みのMicrosoft Intellitrace機能を使用して、生成されたインテリトレースログからコードをステップ実行することができます。このリンクhttps://msdn.microsoft.com/en-us/library/dn449058.aspxには、以下の手順を実行する方法が記載されています。

「アプリが を実行しにイベントを保存しながら、これは、診断イベントを記録します。あなたも Webサーバー上で設定アプリケーションのパフォーマンス監視を設定する必要が 、IntelliTraceのを制御するために、Microsoftの監視エージェントを使用している場合IntelliTraceログファイル。 Visual Studio Enterpriseのイベント(プロフェッショナルまたは コミュニティエディションではありません)を見て、イベントが発生したコードに移動し、その時点で記録された値をに移動して移動します転送するか、 を実行したコードに逆戻りします。 問題を見つけて修正した後、サイクルを繰り返しますリリース をビルド、リリース、監視することで、将来の潜在的な問題を早く解決することができます。

関連する問題