【发布时间】:2013-05-21 23:06:22
【问题描述】:
我创建了一个广泛需要用户输入和交互的应用程序,尽管我已确保测试并捕获所有可能引发错误的情况,但我希望能够创建一种机制来跟踪错误以防万一我的应用程序在现场崩溃。
我希望能够记录从单击按钮到用户可能选择的任何内容或日志文件中页面之间的导航的整个流程,以便在我的应用程序崩溃时我能够研究跟踪稍后归档并确切知道错误发生的位置。
我对这种编程非常陌生,因此上面的任何指针都会非常有帮助!提前谢谢你:]
PS:我什至不确定我所指的内容是否会被正确地称为“日志跟踪”,因此欢迎进行任何编辑。 :)
编辑:我还希望能够保存生成的错误报告并将其发送到特定的 id(类似于“向 xyz 发送错误报告)。
更新:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
try {
File myFiles = new File("/sdcard/ScanApp");
if(!myFiles.exists())
{
myFiles.mkdirs();
}
File myFile = new File("sdcard/ScanApp/log.txt");
myFile.createNewFile();
myFile.delete();
myFile.createNewFile();
String cmd = "logcat -d -v time -f "+myFile.getAbsolutePath()+ " -s ActivityManager:V";
Runtime.getRuntime().exec(cmd);
Logs.this.finish();
}
catch (Exception e)
{
flag=1;
error=e.getMessage();
}
我在以前的应用程序中使用它来记录任何应用程序活动并制作一个文本文件并将其保存到 SD 卡中,但内容并不完全符合我的要求。解决方案是我在寻找这些方面的东西吗?
【问题讨论】:
-
我正在寻找与您在链接中讨论的内容类似的内容,只是我希望能够记录导致异常的原因之前的堆栈跟踪,而不是仅记录异常。还有什么方法可以将它保存到 SD 卡中的文本文件或能够上传错误报告? (参考您在链接中提到的答案)
-
你一定观察到很多人只是通过查看导致问题的堆栈跟踪来回答 SOF 中的问题,例如第 1 行中的 NumberFormatException。 XX 在 someMethod() 中。因此,您可以清楚地知道异常发生的确切位置,您不需要在异常发生之前的堆栈跟踪......
-
此外,您可以将错误日志保存在您的 sqllite 数据库或任何文本文件中,然后在用户处于上传范围内而无需用户干预的情况下上传到您的服务器。
-
我不太明白如何从我的应用程序中收集错误并将它们压缩到一个地方。
标签: android application-lifecycle