2013-04-18 42 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調試,因爲其他問題可能導致內核出現相同的錯誤。

相關問題