0

OSX Mountain Lion上,我能够编译mach_inject并包含测试项目。这可以按预期工作,注射功能完美。

我现在正在尝试使用mach_injectQt 项目中的相同框架,该框架是从QtCreator编译的。我已经尝试过 clang 和 gcc 编译器。

一切都编译并且应用程序运行,但是当调用 mach_inject 时,我得到了错误:

mach_inject failing.. (os/kern) invalid address

跟踪mach_inject,失败发生在最后一步,当它调用thread_create_running.

有谁知道这里有什么问题?我假设这与 Qt 提供的编译器选项与 XCode 使用的编译器选项有关,但可能完全错误!

谢谢。

4

1 回答 1

0

问题原来是 32 / 64 位不兼容 - 因为(自然)您不能将 64 位捆绑包注入 32 位应用程序!

如果其他人有类似的问题,可以使用调试到 mach_inject_bundle_stub 中,因为由于其他问题可能会出现来自内核的相同错误。

于 2013-04-24T08:40:45.267 回答