在ASP.NET 2.0网站上,我记录了未处理异常的详细信息。我想记录源文件名和行号,但是当发生异常时我不会在堆栈跟踪中得到它。原因是我在web.config编译设置中有debug =“false”(它是一个生产站点),因此服务器上没有生成PDB文件。有没有办法让ASP.NET在发布模式下生成调试符号文件?我不想预编译网站。
答案 0 :(得分:5)
<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>
答案 1 :(得分:1)
除非我遗漏了调试和放大器之间的区别。发布版本在优化中。您应该能够使用pdb创建正常的调试二进制文件,并确保在项目设置中启用所有优化设置。 Afaik,除非有一个例外,pdb文件加载等等......