X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Categories%2FNSProcessInfo%2BDebugging.m;fp=Categories%2FNSProcessInfo%2BDebugging.m;h=649de3bca06ed3a9ab12b2f616ce282791487ce2;hp=0000000000000000000000000000000000000000;hb=24bdb92798b9abe86c7954042a47523791736b7c;hpb=a3d6f991d110dcccb70e137f43cbafc60f7ecee7 diff --git a/Categories/NSProcessInfo+Debugging.m b/Categories/NSProcessInfo+Debugging.m new file mode 100644 index 0000000..649de3b --- /dev/null +++ b/Categories/NSProcessInfo+Debugging.m @@ -0,0 +1,35 @@ +// +// NSProcessInfo+Debugging.m +// Enjoyable +// +// Created by Joe Wreschnig on 3/17/13. +// +// + +#import "NSProcessInfo+Debugging.h" + +#include +#include +#include +#include +#include + +@implementation NSProcessInfo (Debugging) + +- (BOOL)isBeingDebugged { + int mib[4]; + struct kinfo_proc info; + size_t size = sizeof(info); + + info.kp_proc.p_flag = 0; + + mib[0] = CTL_KERN; + mib[1] = KERN_PROC; + mib[2] = KERN_PROC_PID; + mib[3] = self.processIdentifier; + + return sysctl(mib, sizeof(mib) / sizeof(*mib), &info, &size, NULL, 0) == 0 + && (info.kp_proc.p_flag & P_TRACED) != 0; +} + +@end