som*_*ore 2 c macos assembly xcode objective-c
我尝试在 macOS 上使用 Xcode 以 root 身份运行我的应用程序,但我不断收到这个奇怪的错误。
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
Run Code Online (Sandbox Code Playgroud)
这实际上只是一个你好世界。我添加的只是一个 printf 到默认的 Obj-C 应用程序,尝试以 root 身份运行它,aaa 并且它最终以ud2某种方式出现在指令上。我尝试过运行 Xcode sudo、编辑方案、将两者结合起来,但没有任何效果。似乎仅仅是 root 的想法就会导致 Xcode 插入一些未定义的指令并崩溃。
编辑:我使用的是 macOS Catalina 10.15.3 和 Xcode 11.4,这是我昨天刚刚下载的,这是我尝试运行的代码:
#import <Cocoa/Cocoa.h>
int main(int argc, const char * argv[]) {
printf("Hello world\n");
@autoreleasepool {
// Setup code that might create autoreleased objects goes here.
}
return NSApplicationMain(argc, argv);
}
Run Code Online (Sandbox Code Playgroud)
“我的代码”实际上没有做任何事情。删除 printf 仍然会导致ud2指令崩溃,因此 Apple 开发的实际样板在以 root 身份运行时不起作用。
| 归档时间: |
|
| 查看次数: |
943 次 |
| 最近记录: |