共用方式為


HOW TO:啟用 ASP.NET 應用程式的偵錯

更新:2007 年 11 月

這個主題適用於:

版本

Visual Basic

C#

C++

Web Developer

Express

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

Standard

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

Pro/Team

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

表格圖例:

標題適用於

套用

標題不適用於

不套用

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

預設隱藏的命令。

若要啟用偵錯,您必須在 [專案屬性] 頁和應用程式的 web.config 檔中啟用它。

注意事項:

您所看見的對話方塊與功能表命令可能會與 [說明] 中所描述的有所不同,視您所使用的設定或版本而定。若要變更設定,請從 [工具] 功能表中選擇 [匯入和匯出設定]。如需詳細資訊,請參閱 Visual Studio 設定

若要在專案屬性內啟用 ASP.NET 偵錯 (Visual Basic/C#)

  1. 在 [方案總管] 中,以滑鼠右鍵按一下 Web 專案的名稱,並選取 [屬性頁]。

    [<Project> 屬性頁] 隨即出現。

  2. 按一下 [Web] 索引標籤。

  3. 選取 [偵錯工具] 底下的 [ASP.NET] 核取方塊。

若要在 web.config 檔中啟用偵錯

  1. 使用任何標準文字編輯器或 XML 剖析器開啟 web.config 檔。

    1. 但是您不能使用 Web 瀏覽器從遠端存取檔案。基於安全的理由,ASP.NET 會設定 Microsoft IIS 以協助防止瀏覽器直接存取 Web.config 檔案。如果您嘗試使用瀏覽器存取組態檔,將會收到 HTTP 存取錯誤 403 (禁止)。
  2. Web.config 是 XML 檔案,因此包含以標記 (Tag) 標示的巢狀區段。下列範例示範常見的 Web.config 檔案。遵循下列步驟修改檔案:

    1. 找出 <compilation> 標記 (Tag)。此標記表示 <compilation> 區段的開頭。

    2. 在 <compilation> 標記中,將會建立 debug 屬性。下列範例中,debug 是在 <compilation> 標記中指定的第二個屬性,而其順序並不重要。

    3. 這些屬性都是區分大小寫,因此請確定指定的是 "debug",而不是 "Debug" 或 "DEBUG"。

    4. 將 debug 設定為 true,如下列程式碼範例所示:

  3. 如果您沒有將 debug 屬性設定為 true,並且嘗試啟動偵錯工作階段,則會出現對話方塊,提供建立已設定該屬性的 web.config 檔。請接受,然後繼續偵錯。

範例

<configuration>
    <system.web>
        <compilation defaultLanguage="VB"
            debug="true"
            numRecompilesBeforeAppRestart="15">
            <compilers>
            <compiler language="VB;VBScript"
            extension=".cls"
            type="Microsoft.VisualBasic.VBCodeProvider,system, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" />
            < compiler language="C#;Csharp"
                extension=".cs" 
                type="Microsoft.CSharp.CSharpCodeProvider,system, Version=1.0.5000.0,  Culture=neutral, PublicKeyToken=b77a5c561934e089" />
        </compilers>

        <assemblies>
""            <add assembly="ADODB" />
            <add assembly="*" />
            </assemblies>

            <namespaces>
            <add namespace="System.Web" />
            <add namespace="System.Web.UI" />
            <add namespace="System.Web.UI.WebControls" />
            <add namespace="System.Web.UI.HtmlControls" />
        </namespaces>

        </compilation>
    </system.web>
</configuration>

穩固程式設計

ASP.NET 會自動偵測對 Web.config 檔案的任何變更,並套用新的組態設定。您不需要重新啟動電腦或 IIS 伺服器來使變更生效。

網站可以包含多個虛擬目錄和子目錄,而 Web.config 檔可能會存在於每一個目錄。ASP.NET 應用程式會繼承自 URL 路徑中較高層級的 Web.config 檔案之設定。階層式組態檔可讓您同時變更數個 ASP.NET 應用程式的設定,例如,階層架構中在它之下的所有應用程式。但是,如果 debug 設定在階層架構中較低層級的檔案,則會覆寫較高層級的值。

例如,您可以在 www.microsoft.com/aaa/Web.config 中指定 debug="true",則在 aaa 資料夾或 aaa 的任何子資料夾中的所有應用程式,將會繼承這個設定。所以如果 ASP.NET 應用程式位於 www.microsoft.com/aaa/bbb,它就會繼承這個設定,www.microsoft.com/aaa/ccc、www.microsoft.com/aaa/ddd 等位置中的任何 ASP.NET 應用程式也一樣,依此類推。唯一的例外狀況是其中一個應用程式利用本身較低層級的 Web.config 檔來覆寫設定。

啟用偵錯模式將大幅影響 ASP.NET 應用程式的效能。在您部署發行應用程式或執行效能措施之前請記得停用偵錯模式。

請參閱

其他資源

偵錯 ASP.NET 和 AJAX 應用程式