利用Dump转储文件获取正式环境程序堆栈状态

服务异常找不到原因时,我们通常通过重新启动服务来尝试解决问题,但是在决定重启之前,请不要立刻重启Windows服务或站点

重启服务会让当前案发现场的内存证据丢失,即便是服务恢复正常了,也无法确认问题发生的原因,利用 Windows Dump 转储文件,可以将正在运行中的服务或站点的堆栈信息保存下来,然后在Visual Studio或WinDbg来查看线上服务的对象信息

Dump转储文件生成

Dump转储文件可以通过 任务管理器 -> 进程 -> 右击指定进程 -> 创建转储文件 生成

创建成功后会提示Dump存储文件保存位置:

需要注意的是,创建Dump转储文件的过程,程序的所有线程将会被暂停,此时程序将无法进行响应

Dump转储文件创建的时间跟程序占用内存成正比,如果程序占用内存过大,将会创建失败,需要使用其他工具来创建

使用Visual Studio调试转储文件

转储后的DMP文件可以使用Visual Studio直接调试,但是VS并没有对 .DMP 格式绑定操作

打开Visaul Studio后在 打开 -> 文件 -> 选择.DMP文件,将会出现以下界面:

VS中支持DUMP转储文件进行原生VC,VC++调试,也可以进行托管代码调试,对于大部分.NET程序,使用 调试托管内存 会更加方便
选择 调试托管内存 ,VS将会加载DMP文件中所有对象信息,等待片刻之后可以看到堆栈信息

托管内存调试支持查看当前线程的局部变量,在监视视图里面查看静态类内的私有字段,使用即时窗口执行C#代码

以上代码为排查配置文件获取配置为空问题,可以看到 ConfigHelper 中已经缓存的所有配置,部分配置项为空,修改配置文件重启程序即可

使用Dump转储文件排查线上环境服务未知问题的更多相关文章

  1. 使用Fabric一键批量部署上线/线上环境监控

    本文讲述如何使用fabric进行批量部署上线的功能 这个功能对于小应用,可以避免开发部署上线的平台,或者使用linux expect开发不优雅的代码. 前提条件: 1.运行fabric脚本的机器和其他 ...

  2. CAS (15) — CAS 线上环境 Ehcache Replication 的非稳定重现错误 java.util.ConcurrentModificationException

    CAS (15) - CAS 线上环境 Ehcache Replication 的非稳定重现错误 摘要 线上环境在 EhCache Replication 过程中出现 java.util.Concur ...

  3. 【微信小程序】---线上环境搭建

    一.前言 通常我们在本地电脑上开发微信小程序,调用和访问小程序会有很多问题.特别是在配有自己后端的情况下,我们通过真机访问我们的小程序会出现不可访问的问题 二.线上环境搭建 在这里我们主要以腾讯云给大 ...

  4. robot framework 测试/预发/线上环境快捷切换

    通常情况下布署的三套环境:测试.预发及线上环境.调试或者辅助验证测试时,切环境改变量甚是麻烦.这些变量包括但不限于:一些url信息,数据库信息,预置用户信息等. 切换环境方法一:使用变量文件,通过判断 ...

  5. 线上环境HBASE-1.2.0出现oldWALs无法自动回收情况;

    正常情况下,hmaster会定期清理oldWALs文件夹,一般该文件大小也就几百兆,但是我们线上 环境出现了该文件没有自动回收情况,如图: 该目录占用hdfs空间多达7.6T,浪费空间: 后来经过多番 ...

  6. vue本地和线上环境(域名)配置

    vue本身为运行脚手架项目自家搭载了一个nodejs后台环境,本地可通过proxyTable来处理跨域问题,但是上线(或生产环境)之后改域名真是一件麻烦的事情,所以进行一些配置. config/ind ...

  7. wechat开发笔记之1.线上环境搭建与测试

    Wechat开发笔记 线上环境搭建: 申请一个wechat公众平台. 手机个人微信可以用webwechat来测试. Website:https://web.weixin.qq.com/ 手机客户端扫一 ...

  8. Linux命令排查线上问题常用的几个

    排查线上问题常用的几个Linux命令 https://www.cnblogs.com/cjsblog/p/9562380.html top 相当于Windows任务管理器 可以看到,输出结果分两部分, ...

  9. Vue 2.x 3.x 配置项目开发环境跟线上环境

    先找到package.json  (这是nuxt版的vue 可能会跟一般vue不一样  当然总体上差不多的) "scripts": { "dev": " ...

随机推荐

  1. ubuntu16.04无法关机解决方法

    11 down vote   In my case these simple steps worked for me fine: Press Ctrl+Alt+T to go to a termina ...

  2. css的三种使用方式:行内样式,内嵌样式,外部引用样式

    三中的使用方法的简单实例如下: 行内样式: <!doctype html> <html> <head> <meta charset="UTF-8&q ...

  3. POJ3169--Layout(SPFA+差分系统)

    Description Like everyone else, cows like to stand close to their friends when queuing for feed. FJ ...

  4. IntelliJ IDEA配置Tomcat(完整版教程)

    查找该问题的童鞋我相信IntelliJ IDEA,Tomcat的下载,JDK等其他的配置都应该完成了,那我直接进入正题了. 1.新建一个项目 2.由于这里我们仅仅为了展示如何成功部署Tomcat,以及 ...

  5. POJ3189 Steady Cow Assignment

    Steady Cow Assignment Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6817   Accepted:  ...

  6. FileZilla_server在Windows和Linnx下的部署安装

    1. FileZilla官网下载FileZilla Server服务器,目前最新版本为0.9.53. 2. 安装FileZilla服务器.除以下声明的地方外,其它均采用默认模式,如安装路径等. 2.1 ...

  7. [kuangbin]树链剖分 C - Tree

    和平常的树链剖分维护边权不同的地方在于对线段树的要求较高 NEGATE 反转区间,也就是a - b 内所有的边权取相反数 而Query询问是最大值,所以也就是维护可取反区间的最大值问题 需要维护的值是 ...

  8. [javascript-code-snippet]javascript代码段

    <ul> <li>Picture 1</li> <li>Picture 2</li> <li>Picture 3</li& ...

  9. 点聚weboffice插件自定义菜单

    https://blog.csdn.net/u014547764/article/details/53818637 1.在jsp中引用excel插件:首先项目中要有:WebOffice.zip.web ...

  10. CentOS BIND9安装及配置

    1.安装 #yum install bind   2.备份 named.conf #cp /etc/named.conf /etc/named.conf.bak   3.编辑 named.conf ( ...