问题标签 [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.

0 投票
1 回答
587 浏览

macos - 在 Mac OS X 上捕获系统调用

我正在尝试使用自制程序捕获由给定 PID 调用的所有系统调用(我不能使用任何 strace、dtruss、gdb ......)。所以我使用了中
kern_return_t task_set_emulation(task_t target_port, vm_address_t routine_entry_pt, int routine_number)声明的函数/usr/include/mach/task.h
我写了一个小程序来捕捉系统调用write

输出是:

内核错误 46 对应于KERN_NOT_SUPPORTED描述为“空线程激活(没有线程链接到它)”的宏/usr/include/mach/kern_return.h,甚至在我调用write.
我的问题是:我在这个过程中做错了什么?Kern_not_supported 确实意味着它还没有实现,而不是一个无意义的线程问题?

0 投票
1 回答
379 浏览

macos - 内核函数的 mach_msg 助手在哪里实现或生成?

与 mach 内核函数的通信使用 mach 消息进行。libsystem_kernel.dylib 系统库实现了一个 mach_msg(...) 辅助函数来发送/接收任意 mach 消息,但它也包含使用某些内核函数的准备方法,例如 task_get_special_port (使用相同的函数名称)。这可以通过反汇编 lib 二进制文件来看到。

mach_msg 源代码可以在这里找到,但是像 task_get_special_port 这样的函数特定助手的源代码似乎没有出现在 libsyscall 源代码树的任何地方。那些 kernelFunction-to-machMsg-adapter 在哪里实现或生成?

另外,在消息和内核函数调用之间进行转换的 mach 消息的接收器在哪里实现?(task_get_special_port 的实际内核实现可以在这里找到)

0 投票
1 回答
97 浏览

excel - 匹配搜索的不同结果并直接检查 cell()

对于以下问题,我错误地要求在 CR 中进行审查,但他们告诉我不是正确的地方,所以我向您提出了同样的问题。

我一个人找不到答案。这个非常简单的代码返回 2 个不同的结果,为什么?!?!我会疯的...

FirstDay("20161107")我用我的范围调用我的函数sh("Diary").(columns(1))

Var 应该是 12 但我检索 Error2042 然后 FirstDay = false,但如果我在即时窗口上看到字符串

检索“是”

有人可以让我知道什么是附加的吗?感谢法布里齐奥

0 投票
5 回答
11955 浏览

gradle - 等待锁定工件缓存(/path/to/.gradle/caches/modules-2)的超时。它当前正被另一个 Gradle 实例使用

不确定这个问题是针对stackoverflow还是超级用户

编辑:超级用户甚至没有 gradle 标签,所以我猜这是用于 stackoverflow

嗨,我正在尝试运行 ./mach gradle app:test 来测试 mozillas 代码中的错误修复

当我运行它时,我得到了这个错误

Timeout waiting to lock artifact cache (/home/user/.gradle/caches/modules-2). It is currently in use by another Gradle instance.

我在运行时遇到了同样的错误,./mach gradle app:checkstyle所以我假设我会用 andgradle命令得到这个

我已经检查过哪些守护进程在运行,service --status-all但是里面没有 gradle 这个词

我看过的其他问题的答案是运行gradle --stop以​​检查守护程序是否正在运行。当我运行该命令时,它会说Stopping daemon(s)并挂起

我怎样才能解决这个问题?我试过关闭并重新打开终端。

0 投票
1 回答
281 浏览

ios - 为什么在模拟器上运行时 mach_wait_until 迟到?

我正在使用下面的代码来使用 mach_wait_until() 等待指定的时间段(以纳秒为单位)。

当我在我的实际 iPhone 设备上运行它时,错误通常在 1 毫秒左右,输出是这样的:

timeUnits = 30003126 for target nanos 1250130250 when numer = 125 and denom = 3

deadline (aka mach-abs-time + timeUnitsFor()) = 4025277628801.0

(mach-abs-y)-(mach-abs-x) = 30027213

timeUnits = 30003126 for target nanos 1250130250 when numer = 125 and denom = 3

error in time units = 24087

elapsed nanos actual = 1251133875

elapsed nanos ideal = 1250130250

error in nanoseconds = 1003625

但是,当我在模拟器上运行它时,计时器始终延迟 70 到 74 毫秒,这是输出:

timeUnits = 1250130250 for target nanos 1250130250 when numer = 1 and denom = 1

deadline (aka mach-abs-time + timeUnitsFor()) = 691695760744956.0

(mach-abs-y)-(mach-abs-x) = 1322288698

timeUnits = 1250130250 for target nanos 1250130250 when numer = 1 and denom = 1

error in time units = 72158448

elapsed nanos actual = 1322288698

elapsed nanos ideal = 1250130250

error in nanoseconds = 72158448

我想知道为什么模拟器每次都会延迟 70 到 74 毫秒。我在纳秒和马赫时间单位之间的转换是否错误?谢谢

0 投票
1 回答
171 浏览

operating-system - Mach 与 Spring 操作系统

我必须写一篇关于操作系统主题的论文。我决定获取一些关于 Mach 和 Spring(同时是微内核和面向对象的操作系统)的信息。我希望这篇论文能够对这两个系统的某些特定方面进行比较(完整的比较对于 6-7 页的论文来说太大了)。我可以比较两个系统的哪些方面?

0 投票
0 回答
249 浏览

macos - 格式错误的 mach-o 图像 __TEXT 段映射文件的开头,但可写

我在正在编写的 VST 主机插件中加载 VST 插件时遇到问题。我已经成功加载了我发现的大多数插件,但似乎有一个给我带来了奇怪的问题。我可以在 adobe 试听和使用 JUCE 框架的主机中加载它。

调用 dlopen 时出现此错误,我似乎在互联网上找不到类似的东西:

dlopen(/Library/Audio/Plug-Ins/VST/Plugin Alliance/SPL De-Verb.vst/Contents/MacOS/SPL De-Verb, 9):找不到合适的图像。确实找到了:Library/Audio/Plug-Ins/VST/Plugin Alliance/SPL De-Verb.vst/Contents/MacOS/SPL De-Verb: malformed mach-o image: __TEXT segment maps start of file but is writable

在其上运行文件显示它是具有两种架构的通用二进制文件:

$ 文件 ./SPL\ 去动词

这是插件的网站: https ://www.plugin-alliance.com/en/products/spl_de-verb.html

这是我用来加载它的代码:

0 投票
1 回答
1758 浏览

macos - macOS Mach-O dylib LC_ID_DYLIB 名称或 install_name 的意义是什么?

我正在开发一个在 Xcode 之外开发的 macOS dylib 框架,并且我正在尝试了解该install_name选项的重要性。

例如,我可以使用这样的参数将该LC_ID_DYLIB部分设置name为更类似于您在应用程序包的框架中找到的内容install_name

然后otool -l我可以看到我的名字已在二进制文件中设置,与默认值不同(默认情况下与-o选项匹配)。

所以我了解如何设置它,但我不明白该值究竟用于知道它应该是什么,我也找不到任何关于它的文档。

我可以看到为什么这些LC_LOAD_DYLIB部分需要关于在哪里找到二进制文件的信息(因为这些部分引用了其他二进制文件),但是为什么 dylib 需要关于在哪里找到自己的信息?链接到它的二进制文件应该是找到它的那个?

那么 macOS dylib 究竟是做什么的LC_ID_DYLIB install_name呢?

0 投票
2 回答
1103 浏览

c - Mac内核编程通用内核扩展prinf()不起作用

我遵循了使用 Xcode教程创建通用内核扩展。

MyKext.c:

我还禁用了 csrutil,它允许我加载自己的 kext。

当我将自己的 kext 加载到内核中时

printf() 的结果没有写入 /var/log/system.log。

我还设置了 boot-args

谁能帮我吗?

0 投票
1 回答
507 浏览

ios - iOS UI 测试链接器错误

我正在尝试为我的 iOS 应用程序运行一些 UI 测试。我成功地记录了我的 UI 测试,但是在运行它们时,我得到一个链接器错误: 在此处输入图像描述

我的项目中添加了一个 UI 测试目标,并且我的 UI 测试文件已添加到该目标中。

我已经能够毫无问题地编写和运行多个单元测试。

任何人都知道我应该在哪里解决这个问题,或者猜猜可能是什么问题?

编辑:完整的日志输出显示 UI 测试文件无法导入我的目标应用程序所依赖的 SDK。