スクリプト デバッグの制約
更新 : 2007 年 11 月
このトピックの内容は、次の製品に該当します。
Edition |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
標準 |
||||
Pro/Team |
表の凡例 :
対象 |
|
該当なし |
|
既定で非表示のコマンド |
Visual Studio は、クライアント側のスクリプトのデバッグをサポートしています。ただし、このトピックで説明する制約があります。
クライアント側スクリプトへのブレークポイントのマップでの制約
Visual Studio では、実行時にクライアント側のファイルに変換されるサーバー側の ASPX ファイルまたは HTML ファイルにブレークポイントを設定できます。Visual Studio では、サーバー側のファイルのブレークポイントをクライアント側のファイルの対応するブレークポイントにマップしますが、次の制約があります。
ブレークポイントは <script> ブロック内に設定する必要があります。インライン スクリプト内または <% %> ブロック内のブレークポイントは、マップされません。
ページのブラウザ URL には、ページ名が含まれている必要があります。たとえば、https://microsoft.com/default.apsx です。ブレークポイントのマップでは、https://microsoft.com などのアドレスから既定のページへのリダイレクトは認識されません。
ブレークポイントは、ブラウザ URL で指定されているページ内に設定されている必要があります。そのページに含まれる ASPX コントロール (ascx) ファイル、マスタ ページ、またはその他のファイルに設定されているブレークポイントはマップされません。含まれるページに設定されているブレークポイントは、マップされません。
<script defer=true> ブロック内に設定されているブレークポイントは、マップされません。
<script id=""> ブロック内に設定されているブレークポイントに対して、ブレークポイントのマップでは、id 属性は無視されます。
ブレークポイントのマップおよび重複行
サーバー側スクリプトとクライアント側スクリプトの対応する場所を検索するために、ブレークポイントのマップのアルゴリズムでは、各行のコードを調べます。アルゴリズムでは、各行が一意であることを前提にしています。2 つ以上の行に同じコードが含まれ、その重複行の 1 つにブレークポイントが設定されている場合、ブレークポイントのマップのアルゴリズムで、クライアント側ファイルの正しくない重複行が選択されることがあります。この問題を回避するには、ブレークポイントを設定した行にコメントを追加します。次に例を示します。
i++ ;
i ++; // I added a comment, so this line is now unique
i ++;