zoukankan      html  css  js  c++  java
  • Android andbug 命令


    6、启动andbug
    ./andbug shell -p com.android.browser


    7、列举apk中的类信息
    命令:classes
    作用:列举出指定apk中使用的所有的Class信息,包括apk中自己实现的Class以及所调用的系统class信息

    另外classes命令后边可以跟Class名称的信息,通过添加名称信息,可以列举出符合条件的class的信息。
    如:classes app

    8、列举指定类的方法信息
    命令:methods android.app.NotificationManager
    功能:列举出android.app.NotificationManager类中的所有方法信息
    名称: 图片10_副本.png查看次数: 2文件大小: 206.6 KB


    9、断点操作
    9.1 对类设置断点,所有设计该类的操作都会终止下来
    break java.io.File

    可以通过break-list命令查看断点设置情况

    9.2 对方法进行断点设置
    通过下面命令对函数进行中断
    >> break java.io.File delete

    9.3 断点触发的情况
    设置断点后,操作apk程序,一旦程序出发了某个设置的断点,整个程序就会挂起,并显示相关信息。通过输出的信息可以知道,apk由于调用了java.io.File.exists()Z:0函数被中断下来。其他信息还包括整个调用java.io.File.exists()Z:0函数的堆栈信息。

    9.4 删除已设置断点
    通过break-remove 536870916
    将之前设置的中断删除掉

    另外:break-remove all表示删除所有当前设置的断点。

    10、恢复运行
    命令:resume
    功能:触发断点整个进程暂停后,通过调用resume命令,继续运行该apk
    注:由于代码中bug的原因,需要连续两次调用resume命令才能恢复apk的运行


    11、进程暂停命令
    命令:suspend
    功能:暂停当前apk进程

    由于还没有与该命令配合使用的命令,实际使用中没有太大作用


    12、帮助命令help

    13、class-trace 类跟踪命令
    命令:class-trace java.io.File
    功能:对 java.io.File类的调用情况进行跟踪
    可以看到“thread <15> BackgroundHandler”线程,调用了“java.io.File.renameTo”,调用的参数是:
    -- this=Ljava/io/File; <830018592096>
    -- newPath=Ljava/io/File; <830016257352>
    并且可以看到整个的堆栈调用的情况。

    取消跟踪也可以使用break-remove命令实现。

    14、method-trace 方法跟踪命令
    命令:method-trace java.io.File renameTo
    功能:对java.io.File renameTo函数进行跟踪,跟踪与直接设置断点的差别是,使用跟踪不中断目标进程的执行,只对相应函数的调用信息进行输出。

    获取函数调用的跟踪信息

    15、列举当前线程信息
    命令:threads

    16、对线程进行跟踪
    命令:thread-trace
    将main线程设置为跟踪县城,所有main县城相关的调用都会被跟踪下来,如图所示:

    会列出函数调用的情况,参数,以及堆栈情况。

    17、显示指定类中的静态变量的信息
    命令:statics com.android.internal.view.menu.MenuBuilder

    18、查看对象信息
    通过class-trace命令可以跟踪到目标函数中对象的Id信息,

    通过对象的Id使用inspect命令,可以查处该队形的详细信息。

    由于在break命令设置断点后,触发断点时反馈的信息,没有包含Object Id的信息,导致inspect命令用起来不是很方便。

    19、源码关联命令
    命令:source 与源代码关联起来,可以是smali代码。
    命令:dump 展示指定方法的代码。

    20、Web输出命令
    命令:navi
    注:为了支持navi命令,需要安**ottle库。

    需要bottle库。应该是一个web展示的页面
    需要安**ottle库,来实现。

    21、退出命令
    命令:exit
    •系统运维
    •云计算
    •研发管理
    •综合
    �0 �0 �0 �分享 imgimg
    ©1999-2012, csdn.net, All Rights Reserved

  • 相关阅读:
    设置材质球的材质,是第几个
    转载渲染。
    系统的时间调不错,就是界面躁动太多,要是允许话还是在自己的界面中加入比较薄, 不过这个很方便。
    清除poly修改器的脚本,效果还好。
    不用string了用getFilenameFile 函数 索引名字更快
    判断平pickbutton 节点是否被删除, 这个事件放在点击事件之内。
    字符串加入到数组的号办法。
    收集每个mesh 面的id 号, 这个很有用,可以用来查找物体共有几个id 效果好。
    Evervolv android 源码编译
    zoj 2112 Dynamic Rankings(SBT in SegTree)
  • 原文地址:https://www.cnblogs.com/kelisi-king/p/5916322.html
Copyright © 2011-2022 走看看