dump文件

IDEA闪退Failed to write core dump. Minidumps are not enabled by default on client versions of Windows

為{幸葍}努か 提交于 2019-12-08 16:25:32
文章目录 问题 错误日志 解决 问题 打开idea不到一分钟,就会闪退 错误日志 到idea安装路径的bin目录下,可以看到错误日志 # # A fatal error has been detected by the Java Runtime Environment: # # EXCEPTION_ILLEGAL_INSTRUCTION (0xc000001d) at pc=0x00007ffbb1c846fa, pid=21244, tid=0x0000000000004e14 # # JRE version: OpenJDK Runtime Environment (8.0_152-b26) (build 1.8.0_152-release-1343-b26) # Java VM: OpenJDK 64-Bit Server VM (25.152-b26 mixed mode windows-amd64 compressed oops) # Problematic frame: # C [mybatisplugin190831792985819736.tmp+0xa46fa] # # Failed to write core dump. Minidumps are not enabled by default on client versions of Windows # #

JVM报错:Failed to write core dump. Core dumps have been disabled.

人盡茶涼 提交于 2019-12-08 16:23:38
# # A fatal error has been detected by the Java Runtime Environment: # # SIGBUS (0x7) at pc=0x00007f9d3d100c50, pid=29904, tid=0x00007f9ca2bfb700 # # JRE version: Java(TM) SE Runtime Environment (8.0_192-b12) (build 1.8.0_192-b12) # Java VM: Java HotSpot(TM) 64-Bit Server VM (25.192-b12 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libzip.so+0x11c50] newEntry.isra.4+0x60 # # Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again # # An error report file with more information is saved as: # /opt

Windbg程序调试--转载

萝らか妹 提交于 2019-12-07 23:15:23
WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。 WinDbg是微软很重要的诊断调试工具: 可以查看源代码、设置断点、查看变量, 查看调用堆栈及内存情况。  调试应用程序(用户模式 user mode)  调试操作系统及驱劢程序(内核模式 kernel mode)  调试非托管程序(native program)  调试托管程序(managed program)  实时调试 (JIT: Just in time)  事后调试 (postmortem debugging) 使用WinDbg可以解决线上.NET应用程序的如下问题: ◆ 内存高 ◆ CPU高 ◆ 程序异常 ◆ 程序Hang死 在生产环境下进行故障诊断时,为了不终止正在运行的服务或应用程序,有两种方式可以对正在运行的服务或应用程序的进程进行分析和调试。 一、用WinDbg等调试器直接attach到需要调试的进程,调试完毕之后再detach即可。但是这种方式有个缺点就是执行debugger命令时必须先break这个进程,执行完debug命令之后又得赶紧F5让他继续运 行,因为被你break住的时候意味着整个进程也已经被你挂起。另外也经常会由于First Chance Excetpion而自动break

WinDbg分析dump文件介绍

橙三吉。 提交于 2019-12-07 09:47:32
WinDbg 分析dump 文件 介绍 1、WinDbg介绍 WinDbg是微软开发的免费源代码级的调试工具。WinDbg可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。具体界面见下图(图1) 图1:主窗体界面 2、WinDbg 分析dump步骤 2.1 、WinDbg分析dump文件基本上试通过命令的方式,所以先介绍几个相关命令。 1)!analyze : 扩展显示当前异常或bug的信息。一般使用!analyze -v 2) kv : 显示栈信息 3) ub : 向前反汇编,例如: ub (地址) 反汇编当前地址之前的两条指令 4) u : 反汇编,例如: u (地址) 反汇编当前地址以后的9条指令 5) uf <function address> : 反汇编函数 5) .exr: 查看EXCEPTION_RECORD信息 6) .cls : 清屏 。。。。。。。。 2.2、打开Dump格式文件 方式一:通过菜单【File】 -> 【Open Crash dump】 选择dump文件打开, 图2:打开dumpe文件 图3:打开后会打印一些dump的信息 方式二:通过CMD打开Dos命令窗口,切换到WinDbg所在目录,利用命令: WinDbg –z “D:/Lines2009-7-25-22-20-33-900.dmp” 这里只介绍第一种方式操作。 2.3

C++ 生成dump文件

吃可爱长大的小学妹 提交于 2019-12-06 16:43:14
int GenerateMiniDump(PEXCEPTION_POINTERS pExceptionPointers) { // 定义函数指针 typedef BOOL(WINAPI * MiniDumpWriteDumpT)( HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, PMINIDUMP_EXCEPTION_INFORMATION, PMINIDUMP_USER_STREAM_INFORMATION, PMINIDUMP_CALLBACK_INFORMATION ); // 从 "DbgHelp.dll" 库中获取 "MiniDumpWriteDump" 函数 MiniDumpWriteDumpT pfnMiniDumpWriteDump = NULL; HMODULE hDbgHelp = LoadLibrary(_T("DbgHelp.dll")); if (NULL == hDbgHelp) { return EXCEPTION_CONTINUE_EXECUTION; } pfnMiniDumpWriteDump = (MiniDumpWriteDumpT)GetProcAddress(hDbgHelp, "MiniDumpWriteDump"); if (NULL == pfnMiniDumpWriteDump) {

Java性能分析神器--VisualVM Launcher[1]

早过忘川 提交于 2019-12-04 11:39:51
Java性能分析神器1--VisualVM Launcher VisualVM 当你日复一日敲代码的时候,当你把各种各样的框架集成到一起的时候,看着大功告成成功运行的日志,有没有那么一丝丝迷茫和惆怅:这TM起的是什么玩意?每一行日志背后代表的是什么东西??他为什么就能跑起来了呢???? 这种时候不要慌,给大家推荐一款功能强大的插件:VisualVM Launcher。(eclipse就叫 VisualVM )。这个插件需要和客户端配合使用 VisualVM 。 VisualVM是集成了命令行JDK工具和轻量级分析功能的可视化工具。JVM提供了一些常用的jdk命令行工具: jstat(JVM Statistics Monitoring Tool):用于收集Hotspot虚拟机各方面的运行数据(查看虚拟机各云心状态信息),显示本地或远程虚拟机进程中的类装载,内存,垃圾收集, JIT编译等运行数据。 jps(JVM Process Status Tool):显示指定系统内所有的HotSpot虚拟机进程(查看虚拟机进程信息),可用于查询正在运行的虚拟机进程, 同时可选择性的显示虚拟机执行主类, 即执行main函数的类, 以及进程的本地虚拟机 ID(Local Virtual Machine Identifier 简称LVMID)(对于本地虚拟机进程来说,

【Java线程与内存分析工具】VisualVM与MAT简明教程

↘锁芯ラ 提交于 2019-12-04 09:42:59
目录 前言 VisualVM 安装与配置 本地使用 远程监控 MAT 使用场景 安装与配置 获得堆转储文件 分析堆转储文件 窥探对象内存值 堆转储文件对比分析 总结 前言 本文将简要介绍Java线程与内存分析工具VisualVM和MAT的使用,进一步的学习可参考官网或工具帮助(例如MAT:Help -> Welcome -> Tutorials),并在实际工作中融会贯通。 VisualVM Java VisualVM是JDK1.6后自带的可视化工具,提供图形界面以实时监控应用程序的线程状态、CPU和内存资源消耗情况,并且可以保存快照以便脱机分析程序的性能瓶颈。 安装与配置 JDK1.6之后已自带VisualVM工具(jvisualvm.exe)。若使用非Oracle JDK,可自行登录 官网 下载VisualVM并安装。 工具下载后,需要在 visualvm_143\etc\visualvm.conf 里手工配置JDK路径(visualvm_jdkhome)。 VisualVM可监控本地或远程的Java程序。使用远程监控时需要在服务端启动JMX服务。首先,在远程程序的启动参数中增加如下 JVM参数 : -Djava.rmi.server.hostname=10.186.189.98(远程服务器IP地址) -Dcom.sun.management.jmxremote.port

HPUX SW Recovery Handbook - Crash Dumps

大憨熊 提交于 2019-12-03 23:06:56
先来点理论基础 系统crash时,HPUX会尝试将物理内存(core)或是物理内存的部分的映像保存到dump设备上,这个dump设备是预先定义好的。然后,在紧接着的操作系统重起过程中,名为savecrash的工具被rc-script自动调用,将内存映像及当前kernel由dump设备拷贝到文件系统中。完成后,你就可以通过调试工具对其进行分析。如下图. Crash事件 - Crash events 一个非正常的系统重起就叫做crash. 有很多原因会导致系统crash; 硬件的不正常工作,软件混乱甚至电源故障。 在一个正确配置的系统中,这些通常会导致一个crash dump被保存下来。操作系统记录每个crash事件的原因,通常每个CPU都会有一个crash事件。同一个CPU有多个事件也是可能的。 共有三种类型的Crash: PANIC, TOC and HPMC : PANIC PANIC类型的crash说明这是由HPUX 操作系统触发的(软件Crash事件). 我们将它分为直接panic与非直接panic(direct and indirect panics). 直接panic是由一个子系统在检测到一个不可恢复的错误时直接调用panic()核心进程,例如: . panic ("wait_for_lock: Already own this lock!"); . panic ("m

如何使用dump文件进行调试

醉酒当歌 提交于 2019-12-03 17:29:38
1 简介 第一次遇到程序崩溃的问题,之前为单位开发了一个插件程序,在本机运行没有出现问题,但把生成的可执行文件拷贝到服务器上一运行程序,刚进入插件代码,插件服务就崩溃了,当时被这个问题整的很惨,在同事的帮助下了解到,对于程序崩溃,最快的解决方式是生成dump文件,通过生成dump文件使用调试工具进行调试,还原程序崩溃时的状态,能够起到快速定位排查问题的作用。Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中。Dump文件是用来给驱动程序编写人员调试驱动程序用的,这种文件必须用专用工具软件打开,比如使用WinDbg、VS打开。因为第一次遇到此类问题,完全没有头绪,但同事很快通过dump文件很快定位到空指针问题,秉承着遇到的问题在遇到第二次不能再是问题的原则,对dump文件的含义、生成、作用、分析、定位排查的过程进行说明,算是对遇到的程序崩溃的问题总结。 本文档适用于开发人员。 2 Dump文件的含义和作用 2.1 Dump文件的类型 Windows下Dump文件分为两大类,内核模式Dump和用户模式Dump。内核模式Dump是操作系统创建的崩溃转储,最经典的就是系统蓝屏,这时候会自动创建内核模式的Dump。用户模式Dump进一步可以分为完整Dump(Full Dump)和迷你Dump(Minidump)。完整Dump包含了某个进程完整的地址空间数据

《深入理解Java虚拟机》——JDK自带命令行工具

扶醉桌前 提交于 2019-12-03 16:30:41
给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里的数据包括:运行日志、异常堆栈、GC日志、线程快照(threaddump/javacore文件)、堆转储快照(heapdump/hprof文件)等。经常使用适当的虚拟机监控和分析的工具可以加快我们分析数据和定位解决问题的速度,但我们在学习工具前,也应当意识到工具永远都是知识技能的一层包装,没有什么工具是“秘密武器”,学会了就能包医百病。 JDK的命令行工具 Java开发人员肯定都知道JDK的bin目录下有“java.exe“和”javac.exe“这两个命令行工具,但并非所有程序员都了解过JDK的bin下其他命令行程序的作用。每逢JDK更新版本之时,bin目录下命令行工具的数量和功能总会不知不觉地增加和增强。 作者介绍了这些工具中的一部分,主要用于监视虚拟机和故障处理的工具。在软件的使用说明中这些故障处理工具被声明为”没有技术支持并且是实验性质的“(unsupported and experimental)的产品,但事实上这些工具都非常稳定并且功能强大,能在处理应用程序性能问题、定位故障时发挥很大的作用。 这些工具体积都异常的小,大多都在30KB左右。并非JDK开发团队刻意将他们制作得如此精炼来炫技,而是这些命令行工具大多数是jdk\lib\tools.jar类库的一层薄封装而已