共用方式為


指令碼偵錯的限制

這個主題適用於:

版本

Visual Basic

C#

F#

C++

Web Developer

Express

標題不適用於 標題不適用於 標題不適用於 標題不適用於 標題適用於

Pro、Premium 和 Ultimate

標題適用於 標題適用於 標題不適用於 標題不適用於 標題適用於

Visual Studio 支援用戶端指令碼的偵錯,但受限於本主題所述的限制。

中斷點對應與用戶端指令碼的限制

Visual Studio 可讓您在於執行階段轉換為用戶端檔案的伺服器端 ASPX 或 HTML 檔中設定中斷點。 Visual Studio 會將伺服器端檔案的中斷點對應到用戶端檔案中的對應中斷點,但會有下列限制:

  • 必須在 <script> 區塊內部設定中斷點。 無法對應位於內嵌指令碼 (Inline Script) 或 <% %> 區塊內的中斷點。

  • 網頁的瀏覽器 URL 必須包含網頁名稱。 例如,https://microsoft.com/default.apsx。 中斷點對應無法辨識從某個位址 (如 https://microsoft.com) 連結到預設網頁的重新導向。

  • 中斷點必須在瀏覽器 URL 內指定的網頁中設定,而不是在 ASPX 控制項 (ascx) 檔、主版頁面 (Master Page) 或該網頁所包含的其他檔案中設定。 在所包含之網頁內設定的中斷點無法對應。

  • 在 <script defer=true> 區塊內設定的中斷點無法對應。

  • 若是在 <script id=""> 區塊中設定中斷點,則中斷點對應會忽略 id 屬性。

中斷點對應和重複行

為了要在伺服器端和用戶端指令碼中找出對應 (Corresponding) 的位置,中斷點對應 (Mapping) 演算法會檢查每一行程式碼。 演算法會假設每一行程式碼都是唯一的。 如果有兩行以上包含相同的程式碼,而且您已在其中一個重複行上設定了中斷點,則中斷點對應演算法可能會在用戶端檔案中選取到錯誤的重複行。 為了防止這種情況,請在設定中斷點的該行指令碼中加入註解。 例如:

i++ ;
i ++; // I added a comment, so this line is now unique
i ++;