eclipse怎么跟踪内存堆栈

eclipse怎么跟踪内存堆栈,第1张

eclipse跟踪内存堆栈的方法是开发一个jsp页面来实时打印堆栈日志:

常用的tomcat举例:

<%@ page contentType="text/htmlcharset=UTF-8" language="java" pageEncoding="UTF-8"%>

<%@ page import="java.util.Set"%>

<%@ page import="java.util.Map"%>

<%@ page import="java.util.Iterator"%>

<%

if("127.0.0.1".equals(request.getRemoteHost()))

{

Map<Thread,StackTraceElement[]>threads = Thread.getAllStackTraces()

Set keys = threads.keySet()

Iterator iter = keys.iterator()

while (iter.hasNext())

{

Thread t = (Thread)iter.next()

%>

=======================================================================

ID: <%=t.getId()%>

State: <%=t.getState()%>

<%= "\n"%>

<%

StackTraceElement[] trace = threads.get(t)

for(int i = 0 i <trace.lengthi++)

{

%>

<%= trace[i].toString()%>

<%= "\n"%>

<%

}

}

}

%>

以上代码中:每个thread对应的StackTraceElement都会有详细的记录,并且通过循环的方法打印出来。

可以。当程序被停住时,可以使用print命令(简写命令为p),或是同义命令inspect来查看当前程序的运行数据。用gdb调试程序时,可以使用“ set logging on ”命令把执行gdb的过程记录下来,方便以后自己参考或是别人帮忙分析。默认的日志文件是“ gdb.txt ”。

GDB是GNU开原组织旗下一款强大的代码调试工具,使用GDB可以自定义程序运行方式;让程序停止在你指定的位置设置断点;在停止点查看当前程序的状态:变量、寄存器的值;动态改变程序的状态。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7960952.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存