获取子流程异常信息

2024-09-24 04:28:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做一个简单的windows可执行加载程序 只需使用操作系统('./小算盘')在python中 或WinExec(…),CreateProcess(…)在Windows API中。。。在

这将是一个非常简单和容易的任务。 但是,如果我的子进程崩溃,我希望收到详细的错误报告。在

我知道我可以将错误号代码作为 功能,如Popen.呼叫()在Python中,或者其他什么。。。在

但是当windows二进制文件崩溃时,我可以看到详细的错误报告 包含崩溃模块的名称、违规代码(0xc000005等) 碰撞模块的偏移量、时间等。。。在

如何从父进程中获取这些信息?实现这些信息的最简单、最简单的方法是什么?在

提前谢谢你。在


Tags: 模块代码程序功能api信息进程windows
1条回答
网友
1楼 · 发布于 2024-09-24 04:28:16

我还没有测试过,但类似这样的东西应该可以做到:

import logging
import subprocess

cmd = "ls -al /directory/that/does/not/exist"  # <- or Windows equivalent
logging.info(cmd)
try:
    process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
except OSError, err:
    logging.error(err.child_traceback)
(stdout, stderr) = process.communicate()
logging.debug(stdout)
if not stderr is None:
    logging.error(stderr)

相关问题 更多 >