Linux で ptrace システム コールを実行するためにctypesモジュールを使用していますが、これは実際にはかなりうまく機能します。しかし、エラーが発生した場合は、役立つ情報を提供したいと思います。したがって、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)