2012-01-05 126 views
1

我是UNIX和Mac OS X系統的新手,想知道如何在Max OS X上進行調試。我來自Windows世界,我熟悉Windows中的調試系統,如使用DebugActiveProcess附加到進程,使用Read/WriteProcessMemory讀取/寫入內存等...Mac OS X調試接口在哪裏

我不知道Mac OS X的調試也喜歡Windows,但 我想知道Max OS X中的調試器如何與目標進程通信。任何人都可以給我一些起點或文件,我應該先閱讀嗎?

回答

5

在OS X和大多數的Unix調試接口被稱爲ptrace

類型man ptrace在對信息的命令提示符上ptrace的進程間通信如何,也看看頭在/usr/include/sys/ptrace.h

+1

這是我真正想知道的。謝謝 – 2012-01-06 01:23:34

2

典型的調試器是gbd和(最近)lldb。 OS X上的許多IDE也使用這些。所以..「man gdb」是一個很好的起點。

正如user1118321提到的,如果您還沒有這樣做,安裝Xcode工具集將是一個好主意。它包括編譯器,IDE,調試器,分析器和這些工具的圖形程序。

+1

另外,如果你習慣使用的VisualStudio或Eclipse或其他一些IDE在Windows ,你應該安裝Xcode。 – user1118321 2012-01-05 23:56:04

+0

@ user1118321謝謝 - 補充。 – justin 2012-01-06 00:00:54

1

你沒有說明你正在使用哪種語言或工具,所以爲了這個答案的目的,我假設你正在使用Objective-C與gcc或clang編譯你的代碼並將它鏈接到可執行文件。如果您使用的是其他語言,比如java或ruby,那麼對於OS X來說,Windows中的等價物也可能存在。

一般來說,unix使用GDB進行調試,OS X也沒有什麼不同。你不會總是將它附加到正在運行的進程上,我發現在調試器中啓動一個進程更爲常見,但是確實存在用於剖析正在運行的進程的工具(如Instruments)。

如果您使用的是XCode,那麼就有一整套內置的調試工具可以使用gdb。我建議你開始閱讀一些開發者文檔http://developer.apple.com/library/ios/#documentation/Xcode/Conceptual/ios_development_workflow/130-Debugging_Applications/debugging_applications.html,然後詢問是否有什麼特別的你想知道的。

如果你已經安裝的Xcode,看安裝在/開發/應用程序的所有應用程序,至少你應該找到

Xcode中 - 在這裏編寫和調試,設計接口 工具 - 配置您的應用程序,查找內存泄漏 圖標作曲家 - 爲您的應用程序創建漂亮的圖標 圖形工具 - 用來幫助工作與OpenGL和石英主要