Objective c 将信号转换为NSException仅在第一次工作时有效
当BSD信号被转换为抛出的异常时,它似乎只在第一次工作,而不在随后的时间工作 在调用Objective c 将信号转换为NSException仅在第一次工作时有效,objective-c,cocoa,macos,signals,segmentation-fault,Objective C,Cocoa,Macos,Signals,Segmentation Fault,当BSD信号被转换为抛出的异常时,它似乎只在第一次工作,而不在随后的时间工作 在调用NSApplicationMain之前,我尝试通过main方法中的以下调用将信号转换为异常: [[NSExceptionHandler defaultExceptionHandler] setExceptionHandlingMask:NSHandleUncaughtSystemExceptionMask]; 这在第一次出现信号时起作用。但第二次发生时,线程只是挂起,但仍允许其他线程运行。我每次都能做到吗 顺便
NSApplicationMain
之前,我尝试通过main方法中的以下调用将信号转换为异常:
[[NSExceptionHandler defaultExceptionHandler] setExceptionHandlingMask:NSHandleUncaughtSystemExceptionMask];
这在第一次出现信号时起作用。但第二次发生时,线程只是挂起,但仍允许其他线程运行。我每次都能做到吗
顺便说一句,我通过一个按钮来测试这一点,该按钮通过写入地址0触发SIGSEGV
冲突:
char* p = NULL;
*p = 'x';
我想要的是每次抛出一个异常——就像Java的NullPointerException
。但目前它只在第一次执行时起作用,随后线程挂起