今天遇到了一个应用程序死锁了,由于是在测试人员的环境中,所以生成了一个dump文件,生成dump文件的方法可以用任务管理器,在任务管理器的进程列表中点击右键,选择“Create Dump File”,就会为该进程生成一个mini dump文件。
由于是自己的程序,所以一般进程对应的pdb文件和源代码文件都有。下面以visual studio 2010和windbg分别说明如何定位到死锁代码。
...
分类:
其他好文 时间:
2014-10-30 00:22:03
阅读次数:
148
adplus不少时候不靠谱,本文分析不靠谱的原因之一。
分类:
其他好文 时间:
2014-10-30 00:07:32
阅读次数:
533
收到消息某系统一个节点因为内存溢出而宕机,系统的中间件是weblogic,数据库的oracle。 1. 先用IBM HeapAnalyzer分析内存溢出时的dump文件,找到占用内存最多的请求,然后看代码。 2. 在走查代码发现,此类中的方法都特别简单,对单表的增删改查,有查询的地方都是...
分类:
编程语言 时间:
2014-10-18 16:47:05
阅读次数:
153
需要注意的是,不同版本的oracle的导入导出应符合下面的规则:不管是从低版本导到高版本,还是高版本导入低版本。导出时需要在原本的版本上导出dump文件,再在需要导入的版本上进行导入(有一些绕)。1.进入windows的doc窗口(cmd)2.导出dump文件expusername/password...
分类:
数据库 时间:
2014-10-11 01:48:14
阅读次数:
425
WinDbg是微软发布的一款相当优秀的源码级(source-level)调试工具,可以用于Kernel模式调试和用户模式调试,还可以调试Dump文件。WinDbg是微软很重要的诊断调试工具: 可以查看源代码、设置断点、查看变量, 查看调用堆栈及内存情况。? 调试应用程序(用户模式 user mode...
分类:
数据库 时间:
2014-10-10 14:40:14
阅读次数:
467
一个朋友QQ群里说网站启动后会cpu很高,想要帮忙看一下dump.1.打开windbg加载dump文件后第一个命令lmf,这个命令显示加载的dll以及路径,这样子可以找个dll来帮忙加载sos,(额,我记不住load那么长的路径啊) 0:000> lmfstart end module name……...
分类:
编程语言 时间:
2014-09-24 21:46:37
阅读次数:
474
t1 : 这个是线程名称,可以在new Thread()对象的时候指定,或者调用Thread.setName。有了这个名称,搜索thread dump的时候更加方便。这也就是为什么,一般创建线程的时候需要指定线程名称,而不是使用默认的名称。
prio=6 : 这个代表的是线程的优先级priority,也可以通过Thread类中的API修改。实际应用中,一般不会设置该属性,没有太大的用处。
tid : Java的线程Id (这个线程在当前虚拟机中的唯一标识)。
nid : 线程本地标识,是线程在操作系统中的标...
分类:
编程语言 时间:
2014-09-23 21:55:05
阅读次数:
280
1,调试core dump 文件 ulimit -c 1024:设置coredump文件大小为1024,否则默认不会生成coredump文件 gdb -c core:gdb调试该coredump文件 file a.out:指定符号表文件 bt:打印堆栈信息2,插入断点: b/break 15 b f...
分类:
数据库 时间:
2014-09-19 11:37:25
阅读次数:
254