如何在Android中读取堆栈跟踪文件?

4

我想在屏幕上打印日志,但是出现了以下错误:

无法打开堆栈跟踪文件'/data/anr/traces.txt':权限被拒绝。

我该如何访问堆栈跟踪文件?


请问您能否告诉我您是如何尝试这个的,我的意思是可以展示一些代码吗? - ingsaurabh
你可以将那个文本文件移动到你的桌面(或任何位置),然后打开它,对吧? - vnshetty
公共无返回值的ReadLogs()方法:{ 尝试 { Process process = Runtime.getRuntime().exec("logcat -d"); BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream())); StringBuilder log=new StringBuilder(); String line = bufferedReader.readLine(); while (line != null) { log.append(line); } Log_Details_button.setText(log.toString()); } 捕获(IOException e) { } } - Prachi
实际上,您没有访问该文件夹的权限,因此在常规情况下,除非您是root,否则这是不可行的。 - ingsaurabh
好的,那你能帮我解决如何获取日志并将其复制到新的文本文件中吗? - Prachi
选择一个日志,然后按Ctrl+A,再按Ctrl+C,粘贴到文本文件中。 - ingsaurabh
3个回答

1
所有的堆栈跟踪都会在LogCat中打印出来,因此请转到DDMS窗口并选择LogCat选项卡。
如果LogCat不可见,请从DDMS中选择设备选项卡,并选择您正在测试的设备。
如果两个选项卡对您都不可见,则请查看Eclipse左下角,单击“+”符号并选择“LogCat”。

实际上我能在Eclipse界面中看到Logcat。我正在尝试将所有与我的应用程序相关的日志都打印在屏幕上。我该如何在我的应用程序屏幕中显示与我的应用程序相关的所有日志? - Prachi
1
嗨,Richa,请访问以下链接:https://dev59.com/bG855IYBdhLWcg3wnFtO - ta54

0

我希望你正在使用Eclipse,你可以在DDMS窗口中找到它。


我们如何将与特定应用程序相关的所有日志复制到文本文件中? - Prachi
选择一个日志,然后按Ctrl+A,再按Ctrl+C,然后粘贴到txt文件中。 - ingsaurabh
@Richa,有时候错误文件会自动复制到你的工作区项目文件夹中。你有没有注意到任何.log文件? - vnshetty

0
  1. 在Android Studio中打开您的项目
  2. 分析菜单中,点击分析堆栈跟踪或线程转储It looks like this
  3. 将堆栈跟踪文本粘贴到分析堆栈跟踪窗口中,然后点击确定Stack Trace Dialog
  4. Android Studio会在运行窗口下打开一个新的堆栈跟踪选项卡,其中包含您粘贴的堆栈跟踪信息。StackTrace Tab

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接