2010-06-29 15 views
0

出於某種原因,我在隨機彈出一個被調用方法接收到錯誤地址並導致應用程序崩潰的問題。當然,這並不罕見,但是當我檢查崩潰方法之上的框架時,我傳入的對象的地址與被調用方法中參數的地址完全不同。Objective-C:調用方發送的地址與被調用方接收到的地址不同嗎?

+2

我們需要比這更多的信息,最好是一些代碼。但有可能這個問題可能與您的想法不一致。如果你正在做一些在被調用的方法中拋出堆棧幀的東西 - 一些有害的指針算術或某物 - 那麼在崩潰之後參數和局部變量的表觀值可能不是他們要進入的。 – walkytalky 2010-06-29 07:45:19

+0

嗯,除了在方法中使用基本的屬性獲取器之外,我沒有做任何可怕的事情,但我正在並行地進行大量的多線程處理。所以,不是被調用的方法垃圾堆棧框架,我猜想另一個線程可能會改變上述框架中的地址,以便我看到的值將會不同。謝謝。 – 2010-06-30 01:38:34

回答

0

嘗試使您正在訪問的屬性原子 - 還要驗證並確保沒有另一個屬性與您正在操作的對象的超類中的名稱重疊。

相關問題