2011-08-18 52 views
2

首先,我是Mac編程的新手。我已經下載了macam project,併成功將調試版本編譯爲帶有Xcode 4.1的32位代碼。輸出是我手動複製到Library/QuickTime文件夾的QuickTime組件。現在我想調試組件,但沒有運氣。我在代碼中啓用了多個斷點,然後使用Product-> Debug-> Attach to Process來檢查Skype中的網絡攝像頭輸出。 Skype顯示(虛擬)攝像頭正在運行,但我的斷點不起作用。我確定我的功能被調用,因爲它們是將彩色條紋作爲網絡攝像頭輸出。Mac QuickTime組件調試

有關調試共享庫的Apple文檔不太好。我的方法有什麼根本性的錯誤,或者我需要先做一些簡單的事情?任何指導非常感謝。

+0

嗨,你能找到任何調試解決方案?你能夠從MyDummyCamera獲取輸出到Skype嗎?等待回覆,謝謝。 –

回答

1

一個調試這個最簡單的方法,如果你要使用Skype等第三方應用程序,將是直通調試語句或網絡插座。

你可以做什麼,是創建一個UDP套接字來發送消息,以及一個客戶端應用程序來監聽它們。這將爲您提供從應用程序訪問實時信息......

你也可以把UDP監聽語句等待(你的其他測試的應用程序)發送參數。

我知道這是不是調試的傳統方式,它可能會導致其自身的問題,但如果處理得當,可以提供有用噸調試時,所有其他工具功虧一簣。

+0

另外,如果不需要套接字與調試進行交互,另一種方法是將調試語句打印到文件或系統控制檯。 –

+0

大家都知道日誌語句(儘管SOCKET調試是一個好主意),但更好的是能夠像在通常情況下在可可應用中那樣一行一行地調試代碼。任何想法?任何人? –

2

我用於調試QuickTime組件項目的方法是在開始時使用NSLog()並返回格式爲ClassName的每個主要函數functionName:parameters ...然後我使用控制檯(在控制檯中搜索焦點)應用程序查看日誌。 這可能不是最簡單/最好的方法,但我確實成功調試並完成了我的組件。

編輯:這個問題提供有關的NSLog How to print out the method name and line number and conditionally disable NSLog?一些有用的信息