2013-05-02 50 views
1

我在很長一段時間內搜索了一些我的問題,並且沒有找到有用的東西,所以我希望你們其中一個能夠幫助我。在獨立模式下執行iPhone問題

我開發了一個iPhone應用程序,它使用FFTS實現(https://github.com/anthonix/ffts)在音頻輸入幀上處理FFT。

當我使用xCode在我的iPhone 5中運行我的應用程序時,一切順利,但是,當我以獨立模式運行它時(這意味着我單擊iPhone中的應用程序圖標而不是xCode啓動器)應用程序啓動但一旦調用FFTS指令就會崩潰。

在事故報告中的堆棧跟蹤是:

0 libsystem_c.dylib   0x3b163eb0 sys_icache_invalidate + 8 
1 FFTApp      0x002f6b80 ffts_generate_func_code + 6252 
2 FFTApp      0x002f4094 ffts_init_1d + 2084 
3 FFTApp      0x002cab86 APFFTProcessor::APFFTProcessor(int) (APFFTProcessor.cpp:49) 

當我切換FFT實施和使用,而不是FFTS VDSP,一切順利的通過Xcode的很好,通過獨立模式。

我真的沒有,爲什麼這個問題會發生任何的想法,但如果有人能幫助我將感激:-)

感謝您的關注,有一個偉大的日子!

Sébastien。

+0

從堆棧跟蹤看起來,您的FFTS庫會動態生成代碼,並在您嘗試使指令高速緩存無效時崩潰。我建議你堅持使用vDSP--無論如何,它遠比未來更好。 – 2013-05-02 11:37:38

+0

非常感謝保羅!你是對的,FFTS圖書館似乎有一個選項--disable-dynamic-code,使用xCode都很順利,但現在我添加了這個選項,並且它成功過去了,這真的很奇怪:-) – 2013-05-02 12:03:45

+0

很可能在模擬器上工作正常,但不在實際設備上的東西。 – 2013-05-02 12:07:17

回答

1

股票操作系統上的沙盒應用程序iPhone無法運行動態生成的ARM代碼。 iOS內存權限不允許。但是Xcode輔助的調試器確實可以插入斷點等。