IDEA内存调试插件(好用)

JetBrains JVM Debugger Memory View plugin

在我最近的研发活动期间寻找新的工具,以提高我的开发经验,使Android Studio的生活更轻松,我发现一个有用的插件,我从来没有听说过。 这就是为什么,我决定写这个强大的工具,它如何帮助我与内存调试我的应用程序。

What is the plugin about?

根据 plugin page :

此插件扩展了内置的JVM调试器,具有在调试会话期间观察JVM堆中的对象的功能。

内存视图按照类名称分组来显示 堆中的对象总数 。

当你一步步调试代码时, “Diff”列显示调试器停靠点(debugger stops也就是debug点)之间对象数量的变化 。 这种方式你可以很容易地看到你的步进代码如何影响堆。

双击类名称,打开一个包含该类实例的对话框。 该对话框允许您 通过计算表达式过滤实例 。 所有调试器操作(如检查,标记对象,评估表达式,添加到观察等)都可以应用于此对话框中的实例。

How to install this wonderful plugin?

打开Android Studio Plugins 页面:

  • 快捷键: 按 command/ ctrl + shift + A, 类型 插件 随后,按 enter 键:
  • 或打开 Preferences/Settings: (Mac:Android Studio - >Preferences / Windows和Linux:File - >Settings)并找到 Plugins 页面:

按 Install jetBrains plugin… 按钮,搜索 JVM Debugger Memory View 然后 Install 。

装完重新启动Android Studio。

At first glance:

回到Android Studio后,您会发现 Memory View Tool Window 已经添加到工具栏的右侧。

Memory View Tool Window

内存视图工具窗口

如果没有看到内存视图,打开工具窗口,使用主菜单: View → Tool Windows → Memory View。

首先,这个工具只有在打了调试断点并在 debug模式 运行期间才会显示数据。

其次,我要提到的是,我阅读了Android Studio可能会发生的一些警告和错误,不过,我并没有碰到过。

警告:Android Studio版本包含以下限制:

  • 由于Android内存限制,获取大量的实例可能会失败,并会停止VM。
  • Android Studio可能会停止响应,请参阅 此错误

Let's debug!

在调试模式下运行应用程序并在BreakPoint上暂停后,您会看到很神奇的画面:

这个表让我们最感兴趣的地方是 Diff ”列,当你一步步调试代码行时,你将看到会有多少新的对象实例被创建或销毁!

我想寻找我自己的对象 (即ProfileModel类) ,所以我搜索它:

正如你可以看到我已经在这行代码更新了ProfileModel vairable,在GC删除旧对象之前我得到差异是+1 ,也可以访问之前不可能访问到的旧的对象。 通过双击这条记录,我将在窗口中获取ProfileModel类的实例:

此窗口还允许你使用类方法通过计算的表达式过滤实例,例如,您可以使用 OkHttp Response 类的 isSuccessful 方法来过滤筛选在内存中加载不成功的响应:

实例过滤器功能

另一个有用的功能是跟踪新实例,您可以通过Memory View Tool窗口中的右键菜单启用:

此功能可帮助您跟踪已生成类的新实例的代码!

以上所述是小编给大家介绍的IDEA内存调试插件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • IDEA内存调试插件(好用)

    JetBrains JVM Debugger Memory View plugin 在我最近的研发活动期间寻找新的工具,以提高我的开发经验,使Android Studio的生活更轻松,我发现一个有用的插件,我从来没有听说过. 这就是为什么,我决定写这个强大的工具,它如何帮助我与内存调试我的应用程序. What is the plugin about? 根据 plugin page : 此插件扩展了内置的JVM调试器,具有在调试会话期间观察JVM堆中的对象的功能. 内存视图按照类名称分组来显示 堆

  • 如何使用VSCode 运行调试插件代码

    VSCode 运行插件,现在我们对这个插件的实现方式和注册方式已经有了了解,下面就到了运行和调试代码的时候了.VS Code 的插件代码脚手架已经为我们提供了 launch.json ,所以我们只需要按下 F5 即可启动代码. 代码启动后,VS Code 会打开一个新的窗口,这个窗口中就运行着我们本地书写的代码.此时我们打开命令面板,搜索 "Hello World" 并且执行. 上面我提到了,这个插件只有在 "Hello World" 命令被执行时才会被激活.那下面

  • 如何调试报表插件

    在项目开发过程中插件调试非常的麻烦,需要修改里面的代码,编译出class,需要重新打包插件.然后把之前的删除,重新安装最新的.调试过程比较繁琐,而且不能调试,十分的不方便.下面给大家介绍如何调试插件. 需要工具:eclipse,finereport报表工具 具体说明 1. 新建工程 新建java工程,在此不赘述 2. 添加依赖,启动设计器 若要能启动设计器需要依赖的jar包很多.具体如下: A. jetty相关的jar包 B. 设计器相关的jar包 C. 其他相关的jar包 选中如图所示jar包

  • 如何在webpack项目中调试loader插件

    最近,在学习webpack使用时,发现webpack-replace-loader配置正则不起用,调试插件后才发现,search健值竟然不支持正则的写法,后有换成string-replace-loader插件,这个loader的search健值支持正则写法,问题得到解决.这里记录下loader的调试方法: 首先需要准备node环境 第一步:下载全局安装 node-nightly npm install -g --save-dev node-nightly 第二步:添加调试命令 "node-nig

  • Android Studio调试Gradle插件详情

    前言: 使用ASM在编译期修改字节码来完成各种功能(统计方法耗时.全埋点统计...),就需要开发Gradle插件.开发插件中遇到问题排查使用日志输出效率太低了,能断点调试的话就更好了.其实已经有很多文章写了调试插件的方法,但是自己照着他们的步骤下来还是遇到一些问题,把这些问题记录下来方便大家少走弯路. Android Studio版本是3.5.2,Gradle版本是3.5.1 1.点击[Run]->[Edit Configurations...]: 2.然后点击左上角的[+],选择[Remote

  • VS Code里使用Debugger for Unity插件调试的方法(2023最新版)

    目录 问题 环境 问题定位 解决方案 如何在新的Visual Studio Code+Unity环境里使用Debugger for Unity进行调试 方案1.降级(不推荐) 方案2.躲bug生成Launch.json(推荐) 方案3.手动配置Launch.json 参考文章 问题 换了台开发机,重新安装了下开发环境.突然发现Visual Studio Code无法用来调试Unity了. 明明流程都是按照Unity官方教程2023.1进行的,可在创建Launch.json文件时,死活出不来Uni

  • Angular2使用Augury来调试Angular2程序

    Augury-Angular专用的chrome 调试插件 如题,在的2016-12-8谷歌开发者大会上,angular2的leader来给我们演示了angular2的特性,对于已经入门的同学们,已经没有太多新鲜内容,唯有一个内容让我为之一震,就是Augury(现在和VUE对比起来,确实可以看出有谷歌支持下angular2会更活跃,我个人认为2年后恐怕VUE无法与之抗衡),跟Angular-CLI一样,还处于beta阶段,也还有很多问题,但是有些地方已经非常方便开发和调试了,这里看到国内竟然没有一

  • 使用phpstorm和xdebug实现远程调试的方法

    vs的断点调试功能很强大有木有,能查看所有变量有木有.php调试很麻烦有木有,echo,var_dump写得你想吐了有木有.想体验一下ide调试的快感吗?那就来使用xdebug吧. 1.原理:xdebug是一款php调试插件,支持远程调试,就是在php文件运行的时候,能通过tcp协议,来发送调试信息到远程端口,ide在收到调试信息的时候,可以向xdebug发送单步运行,中止运行,运行等命令.这样就实现了vs那样强大的调试功能. 2.需要的东东:一款支持xdebug远程调试的ide,这里使用php

  • visual studio code 调试php方法(图文详解)

    简介 php是动态语言没有调试器的话排错起来很是麻烦.vscode可以说是程序员的福音,启动速度快,插件越来越多,跨平台.现在说一下vscode上调试php文件 所需文件 xampp 集成服务器 vscode Xdebug php-debug 插件 1: 在vscode中按 F1, 输入ext install php-debug 安装调试插件 2:去 https://xdebug.org/download.php下载php对应版本的插件,php版本可以在xampp中的readme看到,下载这个P

  • Node.js调试技术总结分享

    前言 众所周知调试技术与开发技术构成了软件开发的基石.目前Nodejs作为新型的Web Server开发栈倍受开发者关注.总的来说Nodejs的应用程序主要有两部分:JavaScript编写的js模块和C语言编译的二进制模块. 这里主要介绍三种avaScript模块的调试方法:基于Nodejs内建的调试器,基于V8调试插件和基于Chrome浏览器的调试器. 以下所有的操作都将基于如下代码(example.js): var http = require('http'); var url = req

随机推荐