AnDbg调试工具

  • 下载andbug
git clone https://github.com/anbc/AndBug.git
  • 进入下载目录make编译
  • adb shell ps 查看进程PID

  • /andbug shell -p PID号,就可以进入调试。
  • classes  app‘name   列出所以关于app的类。
  • methods android.ONDragon.demo  列出类的方法。
  • break  断点
  • 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的运行

    如上图,执行两次resume命令后,恢复apk的运行,由于对整个java.io.File类设置了断点,应用又中断在java.io.File.<init>上。

    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

  • http://bbs.pediy.com/thread-183412.htm   转自看雪论坛。
时间: 2024-10-28 10:10:12

AnDbg调试工具的相关文章

Python -- pdb调试工具

诗歌是一种忧郁的媒体,而诗人的使命是孤独的:     -- 北岛<时间的玫瑰> 学习是一首深邃的民谣,而我们的任务是享受他.     -- 小Q <20161203> ------------------------------------------------------------------------------------------------ 学c++时,老师教我们有gdb调试工具,在工作中会经常用到: 学shell时,经理让我见到了"-x"跟踪

Linux GDB程序调试工具使用简介

GDB概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓"寸有所长,尺有所短"就是这个道理. 一般来说,GDB主要帮忙你完成下面四个方面的功能: 启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条件表达式) 当程序被停住时,

Linux下图形化调试工具: kdbg, ddd

在linux下调试确实是个很麻烦的事, 用gdb调试不怎么方便, 没有在windows下用vs爽, 主要原因还是因为gdb是用命令行形式, 其实在linux下也有一些基于gdb的图形化调试工具. 1. kdbg ubuntu下 直接 sudo apt-get install kdbg 即可安装. 若启动后出现 MNG error 11: Function is invalid at this point; chunk MHDR; subcode 0:0 错误, 那么就删除 /usr/share/

chrome插件 postman插件 接口测试、API &amp; HTTP 请求调试工具

Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试. 它能够发送任何类型的HTTP requests (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers. 支持不同的认证机制(basic, digest, OAuth),接收到的响应语法高亮(HTML,JSON或XML). Postman 能够保留了历史的请求,这样我们就可以很容易地重新发送请求,有一个“集合”功能,用于存储所有请求相同的API/域. 这个扩展还有一些更

【学习笔记】前端开发调试工具与PS切图技巧

[学习过程遇到疑问和延伸阅读] 1.Sublime Text 安装插件的方式 一开始以为直接安装.原来在安装丰富的插件之前,Sublime Text需要通过Package Control这个插件来管理.作为基础插件来管理其他的插件.安装成功之后在菜单栏Preferences下才会有Package Control. "Sublime Text 2 也拥有良好的扩展功能,这就是安装包(Package):通过 Sublime Package Control,安装.升级和卸载 Package 也变得轻松

nodejs、gulp调试工具node-inspector使用

俗话说欲善其功,必先利其器. 作为目前新型的Web Server开发栈倍受开发者关注的Nodejs来说,调试技术是学习开发的基石,所以对于开始学习Nodejs童鞋来说,Nodejs的调试工具使用是必不可少的,总的来说Nodejs的调试方法主要分类三类: 1.基于Nodejs内建的调试器 2.基于V8调试插件 3.基于Chrome浏览器的调试器. 至于使用哪一个作为Nodejs的调试工具,就要看你的选择了,作为一个用惯了chrome调试前端工程的前端开发人员来说,我还是倾向于基于Chrome浏览器

【Linux】GDB调试工具

GDB调试工具 Linux中包含一个很强大的调试工具GDB(GNU Debuger),可以用它来调试C和C++程序. 一. GDB的主要功能有: 设置断点,当程序运行到断点处暂停 显示变量的值,可以打印或者监视某个变量,将变量的值显示出来 单步执行,GDB允许用户单步执行程序,可以跟踪进入函数和从函数中退出 运行时修改变量的值,GDB允许在调试状态下修改变量的值,此功能在测试程序的时候特别有用 路径跟踪,GDB可以将代码的路径打印出来,方便用户跟踪代码 线程切换,在调试多线程的时候,此种功能是必

夺命雷公狗---微信开发14----用网页调试工具调试自定义菜单接口

这种方法也的确可以创建的了自定义菜单,但是还是不够智能,废话不多说,开干.. 我们在上一颗里面已经获取到access_token的值了 那么我们下一步就是要在手册里面找到 ---自定义菜单创建接口,然后啦到最底部 这里有一个网页调试工具调试该接口的A链接,点击进去后,我们将看到如下界面: 这里的access_token就是刚才获取到的那段值: 然后我们再手册里面找到 然后将他复制进body体里面即可实现自定义菜单的设置,成功后将会和下显示一样: 我们然后重新扫码尽心关注下公众号即可发现不同的地方

http调试工具Charles Proxy用法详解

Charles Proxy 通常称为Charles,Charles是目前最强大的http调试工具,在界面和功能上远强于Fiddler,同时是全平台支持,堪称圣杯级工具,不过在这里为您提供了Charles和谐版,欢迎下载使用! 软件名称: Charles 软件版本: 3.11 b4 软件大小: 60 MB 软件授权: 和谐版本 适用平台: WinXP/2003/Vista/Windows7/8 下载地址: http://www.veryhuo.com/down/html/98079.html 安装