【发布时间】:2011-12-12 02:20:30
【问题描述】:
我正在使用 ctypes 模块在 Linux 上进行一些 ptrace 系统调用,这确实有效 很不错。但是如果我得到一个错误,我想提供一些有用的信息。因此我 执行一个返回 errno 值的 get_errno() 函数调用,但我没有找到 任何解释 errno 值并给我一个相关的函数或其他东西 错误信息。
我错过了什么吗? 有基于 ctypes 的解决方案吗?
这是我的设置:
import logging
from ctypes import get_errno, cdll
from ctypes.util import find_library, errno
# load the c lib
libc = cdll.LoadLibrary(find_library("c"), use_errno=True)
...
例子:
return_code = libc.ptrace(PTRACE_ATTACH, pid, None, None)
if return_code == -1:
errno = get_errno()
error_msg = # here i wanna provide some information about the error
logger.error(error_msg)
【问题讨论】:
-
你看过
errno包了吗?有什么遗漏、不完整或令人困惑? docs.python.org/library/errno.html -
@S.Lott 谢谢,这正是我想要的。
标签: python linux ctypes errno system-calls