我在GAC中的程序集会抛出异常如何记录源和行号?

时间:2013-10-15 22:00:07

标签: c# .net windows

我有一个组件,在生产部署中安装在GAC中。当这个程序集抛出异常时,我想用源+行号记录异常。

  • 另一种方法是创建一个minidump并稍后检查,但这也是 对已知的非关键例外情况严厉批评。
  • 另一种方法是运行脚本将pdbs复制到GAC文件夹中。

如果使用所有必需的pdbs部署执行进程(即使对于它引用的GACed程序集),是否还有其他轻量级选项来启用带有异常的源+行信息?

1 个答案:

答案 0 :(得分:1)

所以基于this post,将pdb放在gac中是可行的。

问题:是否有任何阻止您将dll保存在程序目录中的内容?

如果dll不是共享的/是这个应用程序独有的,那么在程序的目录中包含dll和PDB可能更清晰。

如果这是网络,你只需将它们扔进垃圾箱。 如果是本地应用程序,程序目录也可以托管dll。

希望这有帮助!

更新:刚刚找到另一个选项 Stack Trace via manual symbol lookup

基本上,它允许您将PDB存储在GAC之外。您可以在本地存储它们(如果权限允许,甚至可以远程存储它们),并从in-GAC dll中检索堆栈跟踪。