大佬进,如何在 IDEA 中导出 heap dump 文件,官网推荐的方法都试过了,没有效果

297 天前
 kelvinaltajiin
  1. idea64.exe.vmoptions 如下: -Xms128m -Xmx4096m -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=50 -XX:CICompilerCount=2 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\tmp -XX:-OmitStackTraceInFastThrow -ea -Dsun.io.useCanonCaches=false -Djdk.http.auth.tunneling.disabledSchemes="" -Djdk.attach.allowAttachSelf=true -Djdk.module.illegalAccess.silent=true -Dkotlinx.coroutines.debug=off -Dfile.encoding=UTF-8

  2. run/debug configuarions 里面也加上了 -XX:+HeapDumpOnOutOfMemoryError

  3. gradle.properties 也加上了 org.gradle.jvmargs=-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:/heapdump

上述三种方式都没有效果,没有任何的 hprof 文件生成,google 了一圈没其他办法,在此求助。

752 次点击
所在节点    程序员
9 条回复
mitsuizzz
297 天前
你加的这些不是只有发生错误的时候自动导出的吗,没有错误怎么会生成呢,手动的话
mitsuizzz
297 天前
回车快了,用 jmap 命令就可以手动导出
kelvinaltajiin
297 天前
@mitsuizzz 代码报了 OOM ,但是没有 heap dump 文件
kelvinaltajiin
297 天前
@mitsuizzz jmap 可以自动捕获 OOM 的时候堆状态吗? 目前 OOM 不一定稳定复现
mitsuizzz
297 天前
@kelvinaltajiin 上个 2 的配置图看看
kelvinaltajiin
296 天前
@mitsuizzz 昨天又捣鼓一天没搞出来。。。。
![image]( https://imgur.com/a/iVt9dVH)
kelvinaltajiin
296 天前
mitsuizzz
296 天前
@kelvinaltajiin 看看当前工作目录下有没有生成,实在不行,贴下代码看看
kelvinaltajiin
294 天前
@mitsuizzz 折腾两天,最后在 build.gradle 文件里面配置以下才成功生成😂
test {
jvmArgs = ['-XX:+HeapDumpOnOutOfMemoryError', '-XX:HeapDumpPath=D:/heapdump']
}

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/957463

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX