在市场故障或开发测试时遇到的windows卡顿问题,无法启动任务管理器,无法启动调试器,尤其是偶现的。在未配置双机调试,ScrollLock蓝屏和核心转储时。要想获知虚机内正在做什么十分困难。在此提供一种方法可以或许虚机的内存数据,进而转换为windbg可以分析的完全转储。
2 步骤 2.1 dump虚机内存浏览一下host端的磁盘空间
df -h
将虚机内存保存到比较空余的地方。这条命令__只支持绝对路径__
virsh qemu-monitor-command虚机id或虚机名--hmp dump-guest-memory /opt/lessons/1.virshdmp
如果需要通过网盘传回研发本地的话,最好先压缩一下内存dump。为避免下载过程中报错重下,最好先分卷再上传。
zip -v -s 1g 1.virshdmp.zip 1.virshdmp
2.2 转换为windbg所用的dump格式下载volatility。在windows上输入
volatility_2.6_win64_standalone --profile=客户机系统--plugins=raw2dmp -f1.virshdmpraw2dmp --output-image=1.dmp
此处的客户机系统填诸如WinXPSP3x86,可在volatility搜索。
2.3 用windbg打开1.dmp 3 x64的客户机如果是x64的客户机,在windbg打开dump时会报错。这个dump几乎啥都看不了。
但是执行
!wow64exts.sw
后可正常分析。