簡體   English   中英

在發布模式下調試符號

[英]Debug symbols in release mode

在ASP.NET 2.0網站上,我記錄了未處理異常的詳細信息。 我想記錄源文件名和行號,但是當發生異常時,我沒有在堆棧跟蹤中得到它。 原因是我在web.config編譯設置(它是生產站點)中具有debug =“ false”,因此服務器上沒有生成PDB文件。 有沒有辦法讓ASP.NET在發布模式下生成調試符號文件? 我不想預編譯該站點。

好的,我找到了答案。 您可以設置debug =“ false”以獲得優化,然后在system.codedom編譯器設置中將editorOptions =“ / debug:pdbonly”設置為獲取符號。 以下是相關的web.config摘錄:

<system.web>
  ....
  <compilation debug="false" defaultLanguage="c#">
  ...
  </compilation>
</system.web>
<system.codedom>
  <compilers>
    <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4"
        type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
        compilerOptions="/debug:pdbonly">
      <providerOption name="CompilerVersion" value="v3.5"/>
      <providerOption name="WarnAsError" value="false"/>
    </compiler>
    ...
  </compilers>
</system.codedom>

除非我遺漏了一些東西,否則調試和發布版本之間的區別在於優化。 您應該能夠使用pdb創建普通的調試二進制文件,並確保在項目設置中啟用所有優化設置。 Afaik除非存在例外,否則將加載pdb文件,等等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM