从堆栈跟踪创建错误号

时间:2012-07-10 10:52:15

标签: c# java php android cryptography

我在Android平台上用Java编写代码,但对于特定的编程语言来说,这不是一个真正的问题。

所以...如果我的程序发生错误,我在try-catch语句中捕获它,我想创建一个错误号,我将向用户显示,让他有机会发送给我错误号码。

问题是,我想以这样一种方式编码错误:我得到一个小数字(比如说最多5个数字),我以后可以解码,并且可以确切地找出哪个类,其中方法以及发生错误的行号。

我猜这更像是一个加密问题,所以有没有人对我应该如何做这个有任何想法?

修改

我正在考虑为每个文件提供一个数字,每个方法并以某种方式使用这些值来创建错误编号,但我不确定如何计算实际错误编号以便它将以相反的方式工作(正确解码。)

1 个答案:

答案 0 :(得分:1)

我会说,这是调试问题的可怕方法。您要做的是设置一个枚举,指示错误代码+描述。这与Microsoft does it

的方式类似
ERROR_SUCCESS

    0 (0x0)

    The operation completed successfully

等等。这样您就可以将这些内容发布给您的用户,从而减少您获得的电子邮件/投诉数量(在某种程度上)。混淆堆栈跟踪对您来说将是一场噩梦,因为您几乎可以将自己锁定在无法管理的报告系统中。随着代码库的增长和/或添加更多自定义异常,您将很快破坏您的设计。此外,这是一个通过默默无闻的强大安全案例,其中有人可能会对您的流程进行逆向工程并开始针对您编写恶意代码。

更好的方法:

获取一个JIRA帐户,技术精通的用户可以发布错误和说明。我相信FogBugz也有这个功能,你可以上传这些类型的东西,它允许用户裁剪图像,专注于你正在寻找的东西。