我想在生产环境中获取用于记录异常等的堆栈跟踪(文件名和行号)信息。DLL 安装在 GAC 中。有没有办法做到这一点?
本文介绍了将 PDB 文件放入 GAC:
您可以轻松发现这些,因为他们会说您需要将调试符号(.pdb 文件)复制到 GAC。就其本身而言,这是行不通的。
我知道这篇文章是指使用 VS 进行调试,但我认为它也可能适用于记录堆栈跟踪。
除了取消选中他们说是可选的优化代码外,我已经按照说明回答了这个问题。
我将 dll 和 pdb 复制到 GAC 中,但仍然没有得到堆栈跟踪信息。这是我在堆栈跟踪的日志文件中得到的内容:
OnAuthenticate at offset 161 in file:line:column <filename unknown>:0:0
ValidateUser at offset 427 in file:line:column <filename unknown>:0:0
LogException at offset 218 in file:line:column <filename unknown>:0:0
我正在使用 NLog。
我的 NLog 布局是:
layout="${date:format=s}|${level}|${callsite}|${identity}|${message}|${stacktrace:format=Raw}"
${stacktrace:format=Raw} 是相关部分。