Osx
在 OSX 上編譯 ptrace() 程序
我在 MacOS 上有這個簡單的 C 程序:
#include <stdlib.h> #include <sys/wait.h> #include <stdio.h> #include <sys/ptrace.h> int main(int argc, char *argv[]) { pid_t pid = atoi(argv[1]); printf("pid = %jd\n", (intmax_t) pid); return ptrace(PT_ATTACHEXC, pid, 0, 0); }
當我用 gcc / cc 編譯時,我得到這個錯誤:
In file included from my-waiter.c:4: /usr/include/sys/ptrace.h:99:38: error: unknown type name 'caddr_t' int ptrace(int _request, pid_t _pid, caddr_t _addr, int _data); ^ 1 error generated.
有人知道如何
ptrace()
在 OSX 上使用嗎?我不知道如何編譯它。
如user4556274 所示,您需要
#include <sys/types.h>
在您之前完成#include <sys/ptrace.h>
(有關詳細資訊,請參閱本地手冊ptrace(3)
頁)。