gpt4 book ai didi

c# - debug=false 和 compilerOptions ="/debug:pdbonly"的堆栈跟踪行号错误

转载 作者:太空狗 更新时间:2023-10-30 01:26:34 24 4
gpt4 key购买 nike

我正在使用 asp.net 3.5

在 web.config 中,我有 debug=false 和 compilerOptions="/debug:pdbonly"以进行优化编译,并且仍然在我的堆栈跟踪中获取行号。这在大多数情况下都有效,但我的 App_Code 文件夹中的一个函数有一个错误,堆栈跟踪表明错误发生在不可能是错误的一行上。

我稍微调整了一下我的 web.config 设置,发现如果我设置 debug=true 和 compilerOptions=pdbonly,堆栈跟踪显示错误是紧跟在有 bug 的行之后的行。如果我删除 compilerOptions=pdbonly,堆栈跟踪会将正确的行报告为错误。

//the actual bug  (only reported when debug=true and no compiler options set)
var dt = new DateTime(-1,-1,-1);

//
//...lots of non-buggy code between
//

//the bug according to the stack trace when
// debug=false and compilerOptions="/debug:pdbonly"
var ts = TimeSpan.Empty;

有没有办法让这项工作正常进行?

最佳答案

编译器优化会影响堆栈跟踪中报告的行号。您可以设置编译器选项 /optimze- 来禁用它们,然后您的堆栈跟踪行号应该是正确的。

例如:<compiler compilerOptions="/optimze- /debug:pdbonly"/>

关于c# - debug=false 和 compilerOptions ="/debug:pdbonly"的堆栈跟踪行号错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4588439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com