gpt4 book ai didi

windows - 创建转储文件,复制错误(截屏)并在应用程序崩溃后重新启动

转载 作者:行者123 更新时间:2023-12-03 08:35:19 30 4
gpt4 key购买 nike

我正在压力测试中测试应用程序。
这就是为什么我需要它在发生错误(错误窗口打开)或挂起或崩溃时重新启动。同时,我需要收集有关导致重启的问题的所有有用信息:制作转储文件,并从错误窗口复制错误文本(和/或获取其屏幕截图)。

使用bash很容易:Restarting program automatically on crash in OSX(没有屏幕截图或转储,但错误窗口位于MacOS上,因此实际上不需要它们)。但是,我需要此功能才能在Win(XP/Vista/7)上运行。

我可以使用special monitoring tools重新启动,但是那样我将依赖于非标准程序。我可以在XP上使用User Mode Process Dumper,但不适用于Vista。

是否有任何优雅且通用的方式(批处理文件或perl脚本会很棒)来实现所描述的所有Windows版本的功能?

最佳答案

关于问题的第一部分,您可以使用 tasklist 测试进程是否正在运行。
这将运行myapp.exe,并在必要时重新启动它:

    @echo off
set MYAPP=myapp.exe

rem # Loop infinitely and restart the application if it's not running
:Start
tasklist /FI "IMAGENAME eq %MYAPP%" 2>NUL | find /I /N "%MYAPP%" >NUL
if errorlevel 1 %MYAPP%
call :Sleep 1
goto Start

rem # A short sleep subroutine to yield system resources
:Sleep
ping 127.0.0.1 -n %1 -w 1000 > nul

关于问题的第二部分,您可以使用 AutoDumpPlus收集用户模式核心转储。
例如:
    adplus -crash -quiet -pn myapp.exe -o C:\temp

如果检测到崩溃,它将运行ADPlus,监视名为 myapp.exe的所有进程,并在输出目录 C:\temp(当然,可以更改)中生成一个核心转储。

我尚未整体测试过此设置,但希望它对您有用!

关于windows - 创建转储文件,复制错误(截屏)并在应用程序崩溃后重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10962589/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com