【发布时间】:2014-01-17 05:45:40
【问题描述】:
我正在尝试使用 Program.cs 文件中的以下代码来捕获未处理的异常。
我正在尝试创建一个包含错误的所有必需信息的字符串。这样我就可以识别代码中发生错误的点。
我的问题是有一种方法可以在编译和混淆后从错误对象中获取以下详细信息
发生错误的表单名称
触发错误的代码行号
-
以及任何其他有用的信息来查明确切的代码行
private static void OnUnhandledException(Object sender, UnhandledExceptionEventArgs e) { string error; error = e.Exception.Message + "|" + e.Exception.TargetSite; } private static void OnGuiUnhandedException(object sender, System.Threading.ThreadExceptionEventArgs e) { string error; error = e.Exception.Message + "|" + e.Exception.TargetSite; }
【问题讨论】:
-
只要您需要此代码正常运行,您不需要 需要混淆。除了为您诊断错误之外,没有人对反编译错误代码感兴趣。这比程序员想象的要普遍得多。因此,只需关闭混淆以获得简单的解决方法:) 联系混淆器供应商以获得支持,他们都有一些方法来获取可用的堆栈跟踪。
-
@HansPassant 是的,您需要权衡封闭代码的感觉以获得更好的错误处理。他们确实提供了一种方法,但它使易受攻击的代码更容易受到攻击
标签: c# winforms error-handling error-reporting