我使用 XCode 4.5 调试插件,使用 Info > Launch > Wait for ??? 启动和调试工作很好。
但是,每次我点击停止按钮或按下播放按钮时,我附加插件的应用程序都会被杀死(杀死:9)。如果我附加到一个进程,播放或停止按钮将我与该进程分离不是逻辑吗?
有没有一种方法可以让我在 Xcode 中改变这种行为,而不是每次都在 lldb 控制台 >> process detach 上输入以使其继续?
我想的是在我的主应用程序(我附加 XCode 的那个)中添加一些代码来添加一段代码来断开调试器是否可能?
[ 编辑 ]
找到此代码来确定是否附加了调试器:
bool debugger_attached( void )
{
int mib[ 4 ];
struct kinfo_proc info;
size_t size;
info.kp_proc.p_flag = 0;
mib[0] = CTL_KERN;
mib[1] = KERN_PROC;
mib[2] = KERN_PROC_PID;
mib[3] = getpid();
size = sizeof( info );
sysctl( mib, sizeof( mib ) / sizeof( *mib ), &info, &size, NULL, 0 );
return ( ( info.kp_proc.p_flag & P_TRACED ) != 0 );
}
现在如何将调试器与当前进程分离?