共用方式為


指令碼偵錯的限制

更新:2007 年 11 月

這個主題適用於:

版本

Visual Basic

C#

C++

Web Developer

Express 版

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

Standard 版

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

Pro/Team 版

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

表格圖例:

標題適用於

套用

標題不適用於

不套用

預設會套用主題但隱藏命令

預設隱藏的命令。

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

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

Visual Studio 可讓您在伺服器端的 ASPX 或 HTML 檔案中設定中斷點,這個檔案會在執行階段轉換為用戶端檔案。Visual Studio 會將伺服器端檔案內的中斷點對應 (Map) 至用戶端檔案內對應 (Corresponding) 的中斷點,但具有下列限制:

  • 必須在 <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 ++;