2013-04-18 44 views
0

OSX Mountain Lion我可以编译mach_inject和附带的测试项目。如预期的那样,注射功能完美。在OSX Mountain Lion中使用Qt运行mach_inject

我现在试图从Qt项目中使用相同的mach_inject框架,编译自QtCreator。我试过了clang和gcc编译器。

一切编译和运行应用程序,但调用mach_inject的时候,我得到的错误:

mach_inject failing.. (os/kern) invalid address 

跟踪mach_inject,故障发生在最后一步,当它调用thread_create_running

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

谢谢。

回答

0

问题原来是一个32/64位不兼容 - (自然地)你不能注入一个64位包到32位应用程序!

如果其他人有类似的问题,可以使用mach_inject_bundle_stub调试,因为其他问题可能导致内核出现相同的错误。

相关问题