zoukankan      html  css  js  c++  java
  • 通过输出日志到文件来检查app闪退原因

    按Delphi Teacher告诉我的,真是好用。直接说步骤了:

    1.打开cmd窗口。

    然后转到ADB.EXE所在目录,如下图:

    如果你不知怎么找到这个目录,可以打开delphi ide-Tools->Options,如下图,Ctrl+C这个目录,转到cmd窗口,右键可以粘贴过来。(我是不是啰嗦了...)

    2.接好你的手机,在Delphi IDE中取看到联接正常。

    3.开始捕获日志前,清理一下手机内所有稳存的日志:adb logcat -c -b main -b events -b radio -b system

    4.在cmd窗口,执行:adb logcat >C:aa.log

    这是在C盘生成aa.log日志文件,你可以随便写这个文件名,如adb logcat >D:b.log,这在D盘生成bb.log文件。如下图,如果没有操作文件的权限,则会提示“拒绝访问”,如果没有接好手机,会提示-waiting for device-

     如果手机联接好了,也有权限,这里不会有提示的。

    5.现在运行app,操作出“闪退”。

    6.回到cmd,按CTRL+C,中止log输出,这时候,生成对应的日志文件。

    7.打开这个文件,查看其中的内容,你就会找到出错的原因了!经验:搜 java.lang

    用这种方法,我们就可以远程捕获用户现场的日志,具体说,

    1.在本机把C:UsersPublicDocumentsEmbarcaderoStudio20.0PlatformSDKsandroid-sdk-windowsplatform-tools文件夹下面的

    adb.exe

    AdbWinApi.dll

    AdbWinUsbApi.dll

    三个方法发布到用户机器上。

    2.然后,就可以按上面的步骤远程收集日志。

    使用kbmMW提供的日志框架,还可以自己写日志,这会极大的方便我们分析问题:

    uses 
      kbmMWLog;
    ...
    kbmMWLog.Log.Debug('初始化出错:'+AException.Message);
    

     好了,该写的都写了,当遇到用户反应app闪退等错误时,上面的方法一定能帮上你。

  • 相关阅读:
    T-SQL语句操作数据库——基本操作
    HTML——CSS基础
    HTML基础——表格的应用
    HTML基础——基础标签
    AJAX
    aspnetcore-developer-roadmap
    【.Net Core】DotNet CLI command (使用命令创建Controller、View等)
    Unrecognized header format %
    【C#】学习笔记(3) 关于Events使用的小Demo
    数组常用方法(一)
  • 原文地址:https://www.cnblogs.com/kinglandsoft/p/12549017.html
Copyright © 2011-2022 走看看