我有一个用EazFuscator.NET混淆的应用程序。然而,调试这是非常不可能的(即使它是一个小的应用程序),例如,这是一个错误报告:
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Stacktrace:
at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
at System.ThrowHelper.ThrowArgumentOutOfRangeException()
at .(Object , RunWorkerCompletedEventArgs )
at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)它清楚地说明了错误是在后台工作进程中引起的。由于它是一个小应用程序,我感觉我知道它在哪里,但这只是因为它是一个小应用程序。
我已经附加了来自用户的配置文件,并且有一个复选框可以在错误报告中包含一个屏幕截图。
有没有什么方法可以让我的调试变得更容易,同时仍然拥有模糊的代码?
发布于 2012-12-29 19:58:30
我也有过在小的混淆程序上调试客户端问题的经验。我可以给你两个建议:
1)为您的程序设置可配置的详细日志,客户端可以在设置中启用。您可以使用此日志收集大量信息(例如:每个重要方法的入口点以及传递给它的参数)。一般来说,在你的程序中有一个良好的日志记录可以大大节省调试客户端(而不仅仅是客户端)问题的时间。
2)此外,如果用户允许您访问环境,您可以临时使用未混淆的DLL重新安装应用程序(或更改特定的DLL)。调试完成后-只需恢复更改后的DLL即可。
发布于 2015-02-12 02:14:16
大多数混淆器都会生成映射文件,显示原始类/方法名和混淆后的类/方法名之间的映射。
https://stackoverflow.com/questions/14081297
复制相似问题