我有一个在生产部署中安装在 GAC 中的程序集。当这个程序集抛出异常时,我想用源+行号记录异常。
- 一种替代方法是创建一个小型转储并稍后检查,但这对于已知的非关键异常来说过于繁重。
- 另一种方法是运行脚本将 pdb 复制到 GAC 文件夹中。
如果执行过程部署了所有必需的 pdb(即使对于它引用的 GAC 程序集),是否有任何其他轻量级选项来启用源 + 行信息但有例外?
因此,根据这篇文章,将 pdb 放入 gac 是可行的。
问题:是否有任何东西阻止您将 dll 保存在程序目录中?
如果 dll 不是共享的/专用于这个应用程序,则将 dll 和 PDB 包含在程序的目录中可能是一种更清洁的方法。
如果这是网络,您只需将它们扔进垃圾箱。如果它是本地应用程序,则程序目录也可以托管 dll。
希望这可以帮助!
更新:刚刚 通过手动符号查找找到了另一个选项 Stack Trace
基本上,它允许您将 PDB 存储在 GAC 之外。您可以将它们存储在本地(如果权限允许,甚至可以远程存储)并从 in-GAC dll 中检索堆栈跟踪。