`
huang552
  • 浏览: 103197 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

输出堆栈日志

 
阅读更多
@echo off&setlocal enabledelayedexpansion
REM 设置JDK路径
REM set JAVA_HOME=D:\Java\jdk1.6.0_10
REM set PATH=D:\Java\jdk1.6.0_10\bin;C:\WINDOWS\system32;

REM 设置网关的pid,可通过任务管理器查看,有500个进程那个
set p_pid=0

:begin
echo .
if %p_pid%==0 (goto choiced) else (goto runprint)
goto end


:choiced
echo .
echo 以下是系统当前的运行进程,前面的数字是进程号(PID)
jps -v
echo .
echo .
set /p p_pid=请输入进程号(PID),退出[Q]
if %p_pid%==null (goto choiced) else (goto runprint)


:runprint
echo .
echo 创建堆栈存放的目录......
echo .
set runtime=%date:~0,10%_%time:~0,2%_%time:~3,2%_%time:~6,2%
set targetpath=JAVA_JDK_PRINT_FILE\%date:~0,10%
if not exist %targetpath% (md %targetpath%)

echo ***************************************************************
echo 1打印进程堆栈(heap)开始
jstack -l %p_pid% > %targetpath%\堆栈_%runtime%.txt

REM 检测文件大小
set heapfile=%targetpath%\堆栈_%runtime%.txt
for /f "delims=" %%a in ('dir /b /s "%heapfile%"') do (
rem 当文件大小为0,表示输入的进程号不存在
if %%~za==0 (
del /s /q %heapfile%
REM set /p noexist=进程号不存在,打印失败,是否重新打印[Y],退出[Q]
REM if /i %noexist% equ q goto end
REM if /i %noexist% equ y goto choiced
)
)
echo 1打印进程堆栈(heap)结束
echo .
echo .
echo 等待60秒后重新打印一次,如果不想继续打印,请直接关闭程序
REM 设置等待60秒进行重打印
ping -n 60 127.0.0.1 >nul
goto runprint

:end
exit
分享到:
评论

相关推荐

    程序崩溃的时候可生成崩溃堆栈日志的库

    以下是调用的方法,在主程序入口函数第一行动态加载异常捕获库,崩溃后可以在运行目录下生成如【进程名称.exception】的文件,可以看到崩溃的堆栈信息 void main() { //Install our crash handler HMODULE ...

    在SpringBoot中使用logback优化异常堆栈的输出.doc

    本文将详细介绍如何利用logback优化SpringBoot应用中的异常堆栈输出,以提高日志的可读性和实用性。 一、背景 在编程过程中,异常的抛出是难以避免的。为了便于调试和问题追踪,我们会记录异常堆栈信息。然而,原始...

    python实现异常信息堆栈输出到日志文件

    将try except中捕获到的异常信息输出到日志文件中,方便查找错误原因,tranceback模块提供了把详细出错堆栈信息格式化成字符串返回函数format_exc(). 具体代码如下 import traceback import logging logging....

    format_mallocdebug_op.ksh

    format_mallocdebug_op.ksh mallocdebug后格式化输出堆栈日志

    错误日志库实现打印错误堆栈

    本文将详细讨论如何实现一个错误日志库,特别是关于打印错误堆栈的功能,以此来解决类似apue(Advanced Unix Programming, Environment)中的错误处理问题。 首先,我们要理解错误日志库的核心功能。一个有效的错误...

    输出java进程的jstack信息示例分享 通过线程堆栈信息分析java线程

    为了获取这些信息,我们可以使用jstack工具,它是Java开发工具包(JDK)的一部分,能够输出Java进程的线程堆栈跟踪信息。 jstack命令通常可以输出以下类型的信息: 1. 线程的完整堆栈跟踪,包括本地方法。 2. 显示...

    扩展logback将日志输出到Kafka实例源码

    通过将日志输出到Kafka,可以方便地将这些日志与其他系统集成,如ELK(Elasticsearch、Logstash、Kibana)堆栈,实现日志的集中收集、分析和检索。 总之,扩展Logback将日志输出到Kafka是一种常见的日志管理实践,...

    android 工程 日志输出 附

    总结,Android工程中的日志输出是一个多方面的过程,涉及日志级别的选择、自定义标签、堆栈追踪、最佳实践、第三方库以及日志收集与分析。理解和掌握这些知识点对于优化Android应用的开发和维护具有重要意义。通过...

    Unity日志输出 Unity-Logs-Viewer

    Unity日志输出插件,在手机和pc上均有用,能很清晰的看到日志打印,非常好用。 使用这个工具,你可以很容易地在游戏内部检查你的编辑器控制台日志!在移动端同样有效! 支持unity2017.4.29 or 更高版本

    UI界面卡顿检测小工具

    UI界面卡顿检测工具,检测目标界面卡顿的时候,会自动输出堆栈日志信息和dump文件。 工具使用说明:https://blog.csdn.net/liaozhilong88/article/details/140653673

    微服务请求日志统一处理方案

    此外,日志组件还可以包含异常处理逻辑,当发生异常时,能够捕获并记录详细的错误信息,包括异常类型、堆栈轨迹等,这对于定位和解决问题非常有帮助。 最后,为了确保日志的可读性和可分析性,日志格式应该统一,...

    易语言log日志模块源码

    3. **格式化输出**:允许自定义日志输出格式,包括日期、时间、优先级、模块名、消息内容等。 4. **日志分级**:通过设置不同的日志级别,可以在生产环境中过滤掉不重要的信息,只保留错误和警告,以减小存储和查看...

    间接调用Log4j的日志功能导致类名输出错误解决方案

    这个问题通常发生在日志输出时,类名被错误地记录或显示不正确,影响了日志信息的可读性和定位问题的效率。 首先,我们需要理解日志框架如何获取调用者的类名。在Log4j中,通常是通过`java.lang.StackTraceElement`...

    采用slf4j+logback输出日志

    在大型项目中,通常需要集中管理和监控日志,这可以通过ELK(Elasticsearch, Logstash, Kibana)堆栈或其他日志分析工具来实现。 总的来说,SLF4J+Logback提供了一个强大且灵活的日志解决方案,允许开发者根据需求...

    c++记录日志到文件里面

    10. **调试模式**:在调试模式下,可以输出更详细的日志,如堆栈跟踪信息,以便更好地定位问题。 在实现上述功能时,注意代码的可读性和可维护性,良好的日志系统应易于扩展和配置。在实际项目中,选择成熟、稳定的...

    无法打出log4j日志的问题排查

    7. **系统环境**:有些企业环境中可能会有日志代理或防火墙策略限制了日志输出。确认系统环境允许Log4j的输出行为。 8. **依赖冲突**:检查是否存在其他日志框架(如Logback、java.util.logging)与Log4j之间的依赖...

    vc++ c++ mfc 日志 log 记录

    - 可以通过预处理器宏(`#ifdef _DEBUG`)控制DEBUG级别的日志是否输出。 5. **日志格式** - 格式化日志条目,例如包括时间、线程ID、日志级别标识符、源文件和行号,以提高可读性和分析性。 - 使用`strftime`...

    log美化控制台日志输出

    在JavaScript开发过程中,控制台日志输出是调试和理解代码运行状态的重要手段。"log美化控制台日志输出"这个主题关注的是如何让这些日志更易于阅读、理解和分析,从而提升开发效率。通常,这涉及到对日志的格式化、...

    C#控制台应用使用Log4net日志

    6. **自定义布局和转换模式**:Log4net允许你自定义日志信息的格式,如添加线程ID、堆栈跟踪等信息。 7. **性能优化**:Log4net设计上考虑了性能,只有在日志级别高于当前设置时才会记录日志,避免了不必要的开销。...

Global site tag (gtag.js) - Google Analytics