如何啟動偵錯工作階段 (JavaScript)
本主題說明如何對於以 JavaScript 和 HTML5 撰寫的 Windows 市集應用程式,開始偵錯工作階段。您可以使用單一按鍵開始偵錯,或者您可以針對特定案例設定偵錯工作階段,然後選擇啟動應用程式的方式。
本主題內容
In this topic
The easy way to start debugging
Configure the debugging session
Open the debugging property page for the project
Choose the build configuration options
Choose the deployment target
Choose the debugger to use
(Optional) Delay starting the app in the debug session
(Optional) Disable network loopbacks
Start the debugging session
Start debugging (F5)
Start debugging (F5) but delay the app start
Start an installed app in the debugger
Attach the debugger to a running app
Set the app to run in debug mode
Attach the debugger
開始偵錯的簡易方式
在 Visual Studio 中開啟應用程式方案。
按 F5。
Visual Studio 會建置附加了偵錯工具的應用程式,並加以啟動。執行會持續到中斷點為止,若以手動方式暫停執行,就會發生未處理的例外狀況,或結束應用程式。如需詳細資訊,請參閱快速入門:偵錯應用程式 (JavaScript)。
設定偵錯工作階段
因為未編譯指令碼,所以不會套用組建組態和平台設定。如果您正在偵錯 C++ 或 Managed 元件,請將 [組態] 設定為 [偵錯],然後從 [組態] 對話方塊中選擇您的目標平台。
開啟專案的偵錯屬性頁
在 [方案總管] 中選取專案。在捷徑功能表上選擇 [屬性]。
展開 [組態屬性] 節點,然後選擇 [偵錯]。
選擇組建組態選項
請從 [組態] 清單中選擇 [偵錯] 或 [使用中 (偵錯)]。
從 [平台] 清單中選擇要為其建置的目標平台。在大部分情況下,[任何 CPU] 是最佳選擇。
選擇部署目標
您可以在 Visual Studio 電腦、本機電腦上的 Visual Studio 模擬器,或遠端電腦上部署和偵錯應用程式。您可以從專案 [偵錯] 屬性頁面上的 [要啟動的偵錯工具] 清單,選擇目標。
從 [要啟動的偵錯工具] 清單選取其中一個選項:
本機電腦 |
在本機電腦上對目前工作階段中的應用程式進行偵錯。請參閱在本機電腦執行 Windows 市集應用程式。 |
模擬器 |
在 Windows 市集應用程式的 Visual Studio 模擬器中進行應用程式偵錯。模擬器是可讓您對本機電腦上無法使用的裝置功能 (例如觸控筆勢與裝置旋轉) 進行偵錯的桌面視窗。請參閱在模擬器中執行 Windows 市集應用程式。 |
遠端電腦 |
在透過內部網路連接到本機電腦的裝置上,或使用乙太網路纜線直接連接的裝置上,對應用程式進行偵錯。若要遠端偵錯,必須在遠端裝置上安裝並執行 Visual Studio 遠端工具。請參閱在遠端電腦執行 Windows 市集應用程式。 |
如果您選擇 [遠端電腦],請透過下列其中一種方法指定遠端電腦的名稱或 IP 位址:
在 [電腦名稱] 方塊中,輸入遠端電腦的名稱或 IP 位址。
在 [電腦名稱] 方塊中選擇向下箭號,然後選擇 [<尋找...>]。然後從 [選取遠端偵錯工具連接] 對話方塊中選擇遠端電腦。
注意事項
[選取遠端偵錯工具連接] 對話方塊會顯示位於本機子網路上的電腦,以及透過乙太網路纜線直接連接至 Visual Studio 電腦的任何電腦。若要指定另一部電腦,請在 [電腦名稱] 方塊中輸入名稱。
選擇要使用的偵錯工具
根據預設,偵錯工具會附加至應用程式中的 JavaScript 程式碼。您可以選擇偵錯應用程式元件的原生 C++ 和 Managed 程式碼,而不是 JavaScript 程式碼。您在應用程式專案的 [偵錯] 屬性頁面之 [偵錯工具類型] 清單中,指定要偵錯的程式碼。
從 [偵錯工具類型] 清單中,選擇下列其中一個偵錯工具:
僅限指令碼 |
在您的應用程式中偵錯 JavaScript 程式碼。Managed 程式碼與機器碼都會被忽略。 |
僅限原生 |
在您的應用程式中偵錯原生 C/C++程式碼。Managed 程式碼與 JavaScript 程式碼都會被忽略。 |
僅限 Managed |
在您的應用程式中偵錯 Managed 程式碼。JavaScript 程式碼與原生 C/C++ 程式碼都會被忽略。 |
混合 (Managed 與原生) |
在您的應用程式中偵錯原生 C/C++ 程式碼與 Managed 程式碼。JavaScript 程式碼會被忽略。 |
(選擇性) 在偵錯工作階段中延遲啟動應用程式
根據預設,Visual Studio 會在您開始偵錯時立即啟動應用程式。您也可以僅開始偵錯工作階段,而延遲啟動您的應用程式。應用程式從 [開始] 功能表或由啟用合約啟動,或是由其他處理序或方法啟動時,會在偵錯工具中啟動。您也可以使用延遲開始來偵錯應用程式中的背景事件 (您要讓它在應用程式未執行時發生的背景事件)。
您指定是否延遲啟動在應用程式專案之 [偵錯] 屬性頁面上,[啟動應用程式] 清單中的應用程式。選擇下列其中一個選項:
選擇 [否] 以延遲啟動應用程式。
選擇 [是] 以立即啟動應用程式。
(選擇性) 停用網路回送
基於安全性考量,不允許以標準模式安裝的 Windows 市集應用程式,對於其安裝所在的裝置進行網路呼叫。根據預設,Visual Studio 部署會針對部署應用程式建立此規則的豁免。此豁免可讓您測試在單一機器上的通訊程序。在將您的應用程式提交至 Windows 市集之前,您應該在沒有豁免的情況下測試您的應用程式。
若要移除網路回送豁免,請從 [偵錯] 屬性頁上的 [允許網路回送] 清單中選擇 [否]。
開始偵錯工作階段
開始偵錯 (F5)
當您選擇 [偵錯] 功能表 (快速鍵:F5) 上的 [開始偵錯] 時,Visual Studio 會以附加的偵錯工具啟動應用程式。執行會持續到中斷點為止,若以手動方式暫停執行,就會發生未處理的例外狀況,或結束應用程式。
開始偵錯 (F5),但延遲啟動應用程式
您可以將應用程式設定成以偵錯模式執行,但卻是藉由偵錯工具以外的方式啟動。例如,您可能會希望在應用程式從 [開始] 功能表啟動時進行偵錯,或是偵錯應用程式中的背景處理程序而不啟動應用程式。若要延遲啟動應用程式,請執行下列作業:
在應用程式專案屬性的 [偵錯] 頁面上,從 [啟動應用程式] 清單中選擇 [否]。
在 [偵錯] 功能表上選擇 [開始偵錯] (快速鍵:F5)。
從 [開始] 功能表、執行合約或透過其他程序啟動您的應用程式。
應用程式會以偵錯模式啟動。執行會持續到中斷點為止,若以手動方式暫停執行,就會發生未處理的例外狀況,或結束應用程式。
.如需偵錯背景工作的詳細資訊,請參閱如何在 Windows 市集應用程式中觸發暫停、繼續和背景事件。
在偵錯工具中啟動已安裝的應用程式
使用 F5 開始偵錯時,Visual Studio 會建置並部署應用程式、將應用程式設定成以偵錯模式執行,然後再啟動應用程式。若要啟動已安裝在裝置上的應用程式,請使用 [偵錯已安裝的應用程式套件] 對話方塊。當您必須偵錯從 Windows 市集安裝的應用程式,或者有應用程式的原始程式檔,卻沒有應用程式的 Visual Studio 專案時,這個方式就很有用。例如,您可能會有未使用 Visual Studio 專案或方案的自訂建置系統。
應用程式可以安裝在本機裝置,也可以安裝在遠端裝置上。您可以立即啟動應用程式,也可以設定應用程式,使其藉由其他處理序或方式啟動 (例如從 [開始] 功能表或透過啟用合約) 後再於偵錯工具中執行。如果您只希望偵錯背景處理程序而不啟動應用程式,還可以將應用程式設定成以偵錯模式執行。如需詳細資訊,請參閱如何在 Windows 市集應用程式中觸發暫停、繼續和背景事件。
若要將已安裝的應用程式設定成以偵錯模式執行,請執行下列作業:
![]() |
---|
以下程序必須在應用程式未執行時實施。 |
在 [偵錯] 功能表上,選擇 [偵錯已安裝的應用程式套件]。
從清單中選擇下列其中一個選項:
本機電腦
在本機電腦上對目前工作階段中的應用程式進行偵錯。請參閱在本機電腦執行 Windows 市集應用程式。
模擬器
在 Windows 市集應用程式的 Visual Studio 模擬器中進行應用程式偵錯。模擬器是可讓您對本機電腦上無法使用的裝置功能 (例如觸控筆勢與裝置旋轉) 進行偵錯的桌面視窗。請參閱在模擬器中執行 Windows 市集應用程式。
遠端電腦
在透過內部網路連接到本機電腦的裝置上,或使用乙太網路纜線直接連接的裝置上,對應用程式進行偵錯。若要遠端偵錯,必須在遠端裝置上安裝並執行 Visual Studio 遠端工具。請參閱在遠端電腦執行 Windows 市集應用程式。
從 [已安裝的應用程式套件] 清單中選擇應用程式。
從 [偵錯這種程式碼類型] 清單中選擇要使用的偵錯引擎。
(選擇性) 選擇 [不啟動,但在我的程式碼啟動時進行偵錯],如此當其他方法啟動應用程式時,即可偵錯應用程式,或者偵錯背景處理程序。
當您按一下 [開始] 時,就會啟動應用程式或是將其設定成以偵錯模式執行。
將偵錯工具附加至執行中的應用程式
若要將偵錯工具附加至 Windows 市集應用程式,您必須使用 [Debuggable Package 管理員] 將應用程式設定成以偵錯模式執行。[Debuggable Package 管理員] 會隨 Visual Studio 遠端工具一起安裝。
當您需要偵錯已安裝的應用程式,例如,從 Windows 市集安裝的應用程式時,將偵錯工具附加至應用程式相當有用。當您具有應用程式的原始程式檔,但沒有應用程式的 Visual Studio 專案時,就必須進行附加。例如,您可能會有未使用 Visual Studio 專案或方案的自訂建置系統。
附加至應用程式:
將應用程式設定成以偵錯模式執行。此動作必須在應用程式未執行時完成。
啟動應用程式。您可以從 [開始] 功能表、執行合約,或是其他方法啟動應用程式。
將偵錯工具附加至執行中的應用程式。
將應用程式設定成以偵錯模式執行
在已安裝應用程式的裝置上,安裝 Visual Studio 遠端工具。請參閱Installing the Remote Debugger。
在 [開始] 功能表中,搜尋 Debuggable Package Manager 並啟動它。
針對 AppxDebug Cmdlet 適當設定的 PowerShell 視窗隨即出現。
若要啟用應用程式的偵錯功能,您必須指定此應用程式的 PackageFullName 識別項。若要檢視包含 PackageFullName 的完整應用程式清單,請在 PowerShell 命令提示字元中輸入 Get-AppxPackage。
在 PowerShell 命令提示字元中輸入 Enable-AppxDebug PackageFullName,其中 PackageFullName 是應用程式的 PackageFullName 識別項。
附加偵錯工具
提示
在 wwahost.exe 處理序的執行個體中執行的 JavaScript 應用程式。如果當您附加至應用程式時有其他 JavaScript 應用程式正在執行,您需要知道應用程式正在執行之 wwahost.exe 的數值處理序 ID (PID)。
處理這個情況最簡單的方式是關閉任何其他 JavaScript 應用程式。或者,您可以在啟動應用程式之前開啟 [Windows 工作管理員],並且註記 wwahost.exe 處理序的 ID。當您指定附加至 [可使用的處理序] 對話方塊的處理序時,應用程式的 wwahost.exe 會具有與您的註記不同的 ID。
若要附加偵錯工具:
在 [偵錯] 功能表上,選擇 [附加至處理序]。
[附加至處理序] 對話方塊隨即出現。
若要附加至遠端裝置上的應用程式,請在 [限定詞] 方塊中指定遠端裝置。您可以:
在 [限定詞] 方塊中輸入名稱。
選擇 [限定詞] 方塊中的向下箭號,並從您之前附加的裝置清單中選擇裝置。
選擇 [尋找] 以從本機子網路上的裝置清單中選擇裝置。
在 [附加至] 方塊中指定要偵錯的程式碼類型。
選擇 [選取],然後執行下列其中一項作業:
選擇 [自動判斷要偵錯的程式碼類型]
選擇 [偵錯這些程式碼類型],然後從清單中選擇一或多個類型。
在 [可使用的處理序] 清單中,選擇適當的 wwahost.exe 處理序。使用 [標題] 資料行識別應用程式。
選擇 [附加]。
Visual Studio 會將偵錯工具附加至處理序。執行會持續到中斷點為止,若以手動方式暫停執行,就會發生未處理的例外狀況,或結束應用程式。