问题标签 [mach]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 将 AMWorkflow 与沙盒应用程序一起使用
我正在尝试从沙盒 AppKit 应用程序执行 Automator 工作流程。
最小示例 + github repo:
根据我目前对 AMWorkflow API 的理解,我假设它使用 Mach IPC 在单独的 Automator Runner 进程中执行工作流。
这就是我向我的应用程序添加以下权利的原因:
但显然 Automator Runner 尝试连接回调用应用程序,但失败并显示以下错误消息:
有任何想法吗?
objective-c - 通过 XPC 或 MACH 在 OSX 上启动服务
我想知道第三方开发人员是否有办法通过 XPC 或 Mach 与启动代理和守护进程进行交互。我的理解是第三方必须知道 XPC 的字典格式或有权访问 Mach 的 .defs 文件。这些是否可用于预安装的启动服务?如果没有,那么还有其他方式可以通过代码与服务交互吗?
compilation - 如何编译 Mach 3?
这些天我对mach 操作系统很感兴趣。然而,我发现在现代 Linux 系统上构建它似乎相当困难,比如 Debian Wheezy。
所以我想知道是否有任何方法可以构建并启动它?
欢迎任何想法和建议:-)
顺便说一句:似乎 Mach 操作系统是由 ODETools(odemake 和其他东西)构建的。那是什么?我很难找到这种 odetools 的任何东西。
xcode - 使用 vm_read 和 vm_write 在 OS X 10.8.2 上读/写内存
这是我仅适用于 Xcode(4.5 版)的代码:
我也在尝试 ptrace 和其他东西,这就是为什么我也包含其他库。
第一个问题是这仅适用于 Xcode,我可以使用调试器找到变量的位置(内存地址)(在这种情况test
下value
为test
上test1
。
我实际上不明白 vm_write 是如何工作的(不完全)task_for_pid()
,对于 2° 的问题是我需要在另一个进程上读写,这只是测试函数是否在同一个进程上工作,它可以工作(仅在 Xcode 上)。
我如何在其他进程上做到这一点?我需要读取一个位置(如何找到“某物”的地址?),这是第一个目标。
objective-c - CFMessagePort 怪异
关于通过马赫端口发送/接收消息,我面临一个奇怪的延迟问题。我的实现的基本概念如下:
插件创建本地端口→启动向所述端口发送消息的远程进程→返回接收到的数据。
这是插件部分:
someExecutable 的代码的重要部分如下:
来自远程进程的消息被优雅地发送,但在进程结束并返回空值后调用回调。portRet()
如果我使函数内的端口无效portRet()
,则永远不会收到消息。
我无法弄清楚发生这种延迟的原因。我想要实现的是在portRet()
返回之前调用端口回调。我还尝试使用主调度队列而不是CFRunLoopSource
端口的回调调度:
但结果几乎是一样的。我不确定我做错了什么。非常感谢您的帮助。
ios - 如何在 iOS 中清理系统内存?
在 MacOs 中,您可以通过 Activity Monitor 查看空闲、有线、活动、非活动的内存状态。而且,您可以使用“purge”之类的命令行来清除内存。
那么,我可以在 iOS 中执行此操作吗?我不熟悉马赫/BSD。还有,其他人可以帮助我吗?
在 Mac Osx 中,我可以使用以下方法将非活动状态转换为空闲状态。
macos - 有没有办法在 mach_inject 之后卸载捆绑包
我想将较新版本的包加载到目标进程,但这是不可能的,因为已经加载了同名的包。更改CFBundleVersion
或CFBundleShortVersionString
捆绑包不起作用。最简单的方法是简单地杀死目标进程并重新启动它。但我认为这不是最好的方法。那么还有另一种方法吗?
macos - 为什么 host_statistics64() 返回不一致的结果?
为什么 OS X 10.6.8 中的 host_statistics64() (我不知道其他版本是否有这个问题)返回的免费、活动、非活动和有线内存的计数加起来不等于 ram 的总量?为什么它缺少不一致的页数?
以下输出表示十秒内未分类为空闲、活动、非活动或有线的页面数(大约每秒采样一次)。
产生上述数字的代码是:
kernel - Mach vm_read 未返回 OSX 10.8.2 的预期值
我最近刚搬到 UNIX 平台,目前正在研究操作系统。现在,我对 XNU 的设计/实现特别感兴趣,目前的主题是进程和内存。
我有这个代码片段,它允许我的可执行文件从另一个进程获取任务端口
我知道 Mac OSX 10.8.2 有 ASLR,所以我运行的目标进程是通过 gdb 调用的。
我还可以在 GDB 内部验证该地址是否0x100000000
包含 Mach-O 的幻数。
但是,当我的程序尝试读取目标进程的内存时,它只返回随机值,而不是我期望的幻数(它是随机的)。
2157 是目标 PID,1103 是任务端口以及来自的结果mach_error_string
。我也尝试了该vm_read
功能,但行为仍然相同。
ios - mach_vm_allocate 和 vm_allocate 有什么区别?
我想知道mach_vm_allocate
和之间有什么区别vm_allocate
。我知道mach_vm_allocate
仅适用于 OS X 而不是 iOS,但我不知道为什么。mach_vm_...
包含函数的所有函数原型的文件(mach/mach_vm.h)
仅存#error mach_vm.h unsupported.
在于 iOS 中。