vm_region找不到

问题描述:

在osx上,我做了一个小程序来编辑我的进程的内存(主要是在Flash游戏中作弊)。我试着在很长一段时间后重新编译这个程序,并且我意识到我升级了我的操作系统(并且更换了我的笔记本电脑)并更换了一些东西。下面我就10.7.5vm_region找不到

我有一个链接错误:

Undefined symbols for architecture x86_64: 
    "_vm_region", referenced from: 
... 

但是我没有找到任何链接库,以获得vm_region功能。 我没有为vm_region和大部分/ usr/include/mach部分安装任何手册页!

任何意见,以便能够重新编译该程序?我在哪里可以找到这些手册页?

这就是你正在寻找的mach_vm_region,Xoff。这些API已在10.5中重新命名。所以vm_ * API成为mach_vm_ *。 “_”只是链接符号前缀。做一个搜索/替换,它应该工作。您可能还需要调整标题。这些API本身(有意)是未公开的,除了与内核源代码(来自opensource.apple.com的XNU包)一起打包的一些HTML手册页。

+0

事情发生了转变已。我重命名了需要编译的内容,但它不再工作。 mach_vm_region给了我一个错误:无效的参数。通过vm_region,我可以通过将大部分参数设置为0来获取进程的第一个内存区域(除了任务)。它现在似乎不以相同的方式工作。你有想法吗? – Xoff 2013-04-11 05:14:04

+0

好吧,我浏览内核的来源。没有好的网页,但消息来源是可以理解的。感谢指向opensource.apple.com的指针。 – Xoff 2013-04-12 07:44:15

我有此错误消息弹出时,我试图用“vm_region”在64位的过程,应当使用“vm_region_64”用适当的PARAMS

mach_msg_type_number_t info_count = VM_REGION_BASIC_INFO_COUNT_64;