android不可不知调试技巧

这篇具有很好参考价值的文章主要介绍了android不可不知调试技巧。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1、条件断点

2、评估表达式(Evaluate Expression)

3、日志断点

4、方法断点

5、异常断点

6、Field WatchPoint


1、条件断点

假设我们列表循环的某个元素时候才暂停,就用这种方式。具体方式在循环列表打断点,对着断点右键一下,然后会弹出有一行填写condition的,这里就填写条件即可,如下面的例子。

android不可不知调试技巧

2、评估表达式(Evaluate Expression)

这种可以对断点的值按键ALT+F8,我们再去执行一些函数,想求得自己最后想要的值

android不可不知调试技巧

3、日志断点

很多时候我们调试的时候更多的是打印日志定位异常代码,缩小范围之后再使用断点解决问题;所以经常做的事情就是在代码里面添加日志信息,输出函数参数,返回信息,输出我们感兴趣的变量信息等。

具体做法:首先我们在想要输出信息的地方下一个断点;然后右键这个断点,在出现的设置框里面把这个断点的 suspend 属性设置为 False ,这样虽然叫做“断点”,但是并不会真正断下来;然后,我们在 log message 里面填上我们想要输出的日志信息。如下图(注意标红位置):

android不可不知调试技巧

4、方法断点

方法断点会在进入或退出特定方法时暂停应用的执行。暂停时,您可以检查变量,对表达式求值,然后继续逐行执行,以确定运行时错误的原因。具体方法:在方法第一行打上断点,标志有不同。

android不可不知调试技巧

5、异常断点

有时候我们只对特定的异常才会感兴趣,那么我们可以自定义补抓相关异常。

具体做法:在调试窗口点击1处,再2处点击增加要补抓什么样异常

android不可不知调试技巧

6、Field WatchPoint

在上面我们添加异常断点的时候,点击加号的时候,有四个选项;第一个就是我们前面所说的第二种方法断点的添加方式,第三个是异常断点,那么第二个 Field WatchPoint 是干什么的呢?

有没有这样一种场景:你发现某个值莫名其妙滴不知道什么时候被谁给修改了,罪魁祸首是谁?Java虽然是值传递,但是引用也可以是值;对象全部存放在堆上面,而堆是被所有线程共享的,因此在非常复杂的场景下,你根本不知道这些共享变量被谁修改了,这样非常危险;在多线程环境下,不变性是一个很重要的特性,我们看到高并发的语言诸如 Erlang, Scala 对于这种不变性都有着某种程度的支持。

具体做法:对着变量那行打断点,然后选择第二个;可以查看变量多种状态改变的断点设置;

android不可不知调试技巧

android不可不知调试技巧文章来源地址https://www.toymoban.com/news/detail-426114.html

到了这里,关于android不可不知调试技巧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Cosmos 基础教程(一) -- 不可不知的开发术语

    CometBFT DOC 您可以在本节中找到几个技术术语的概述,包括每个术语的解释和进一步资源的链接——在使用Cosmos SDK进行开发时,所有这些都是必不可少的。 在本节中,您将了解以下术语: Cosmos and Interchain LCD RPC Protobuf -协议缓冲区 gRPC, gRPC-web和gRPC- gateway Amino 所有这些术语都与

    2024年02月04日
    浏览(8)
  • MYSQL数字函数:不可不知的数据处理利器

    MYSQL数字函数:不可不知的数据处理利器

    🌈  个人主页: danci_ 🔥  系列专栏: 《MYSQL应用》 💪🏻  制定明确可量化的目标,坚持默默的做事。 MYSQL数字函数:不可不知的数据处理利器                在软件开发中,MySQL数字函数扮演着至关重要的角色,它们能够帮助我们快速地对数据进行数学运算、转换和处

    2024年04月10日
    浏览(10)
  • 一加8手机【ColorOS Android 13】使用Android Studio在Debug断点调试时自动断开崩溃

    一加8手机【ColorOS Android 13】使用Android Studio在Debug断点调试时自动断开崩溃

    一加8手机(系统是ColorOS  Android版本: 13) 在使用android studio进行usb调试过程中, 总是在几秒钟之后就自动崩溃退出应用(代码正常,使用其他测试机正常调试), 调试自然也就断开了;  解决办法: 将【禁止权限监控】开关 打开即可; --【其他设置】--【开发者选项】--【应用】--【禁止

    2024年02月12日
    浏览(12)
  • AIGC必备知识点:你不可不知的CNN(卷积神经网络)-知识全解析!

    AIGC必备知识点:你不可不知的CNN(卷积神经网络)-知识全解析!

    Look!👀我们的大模型商业化落地产品 📖更多AI资讯请👉🏾关注 Free三天集训营助教在线为您火热答疑👩🏼‍🏫 大家在谈论的卷积神经网络究竟是什么?(Convolutional Neural Network,CNN)是一类主要用于计算机视觉领域的深度学习算法,它被广泛地运用于包括图像和视频识别、

    2024年01月17日
    浏览(8)
  • 开启自媒体之路:不可不知的8款ai写作实用工具! #学习方法#学习

    开启自媒体之路:不可不知的8款ai写作实用工具! #学习方法#学习

    你是否因为写作困顿而感到沮丧?是不是希望能够找到一个能给你提供无限灵感和提高创作效率的利器?AI写作助手就是你的绝佳选择!现在我向大家推荐几款好用的AI写作助手,它们将让你的创作之旅更加流畅、富有创意。 1.红桃写作 这是一个微信公众号 面向专业写作领域

    2024年03月23日
    浏览(8)
  • 矩阵爆破逆向之条件断点的妙用

    不知道你是否使用过IDA的条件断点呢?在IDA进阶使用中,它的很多功能都有大作用,比如:ida-trace来跟踪调用流程。同时IDA的断点功能也十分强大,配合IDA-python的输出语句能够大杀特杀! 那么本文就介绍一下这个功能点,使用z3来秒解题目。 条件断点 什么是条件断点呢?

    2024年03月09日
    浏览(6)
  • Android H5移动调试技巧——Chrome /Edge /QQ Inspect

    Android H5移动调试技巧——Chrome /Edge /QQ Inspect

    Android APP项目原生的Html5做,cordova框架技术。苦于调试不便。稍微了解一下浏览器调试插件。 Chrome Inspect 使用该调试技巧,调试移动端中—自身开发的Hybrid APP、微信、UC、QQ、抖音等打开的页面,就像在电脑chrome调试一样方便。 手机上开启开发者模式 以Pixel 为例 设置–关于

    2024年02月06日
    浏览(10)
  • Clion配置C++程序用Android NDK编译,并用真机远程调试(临时目录和termux)

    Clion配置C++程序用Android NDK编译,并用真机远程调试(临时目录和termux)

    :ndk, clion, cmake, usb, tcp, ssh, remote debug, remote gdb debug, termux, tabby 假设已经有了一个在windows下能正常编译运行的C++控制台程序,本文仅说明如何在windows下交叉编译到android并调试。C++库类似。 要点提示: 对于unity用户,建议用unity 2022自带的 ndk r23 。理论上可以用新版,但

    2024年02月21日
    浏览(50)
  • Python 教学 | Pandas 妙不可言的条件数据筛选

    Python 教学 | Pandas 妙不可言的条件数据筛选

    目录 Part 1  前言 Part 2  Excel 的数据筛选与分布统计 Part 3  Pandas 条件数据筛选 1、条件数据筛选的不同维度 (1) 比较数据值 (2) 是否为空值 (3) 文本内容筛选 (4) 数据值长度 (5) 日期筛选 (6) 其他 2、复合条件筛选 Part 4  总结 Part 5  Python教程 在 Python 中,第三方库 Pandas 是数据清

    2024年02月10日
    浏览(7)
  • Gradle断点调试

    文章链接:https://blog.csdn.net/feather_wch/article/details/131746456 Run/debug configutation中点击加号,选择Remote JVM Debug,默认port 5005,默认名“plugin-debug” Gradle Task中选择assembleDebug,右击 Modify Run Configuration 选择Modify Options 选择Add VM options, 输入“-agentlib:jdwp=transport=dt_socket,server=y,suspend=n

    2024年02月16日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包