Mac OS X调试界面在哪里?

时间:2012-01-05 23:48:34

标签: macos debugging unix

我是UNIX和Mac OS X系统的新手,想知道Max OS X上的调试是如何工作的。我来自Windows世界,我熟悉Windows中的调试系统,比如使用DebugActiveProcess附加到进程,使用Read / WriteProcessMemory读取/写入内存等等......

我不知道Mac OS X的调试是否也像Windows一样令人担忧 我想知道Max OS X中的调试器如何与目标进程通信。任何人都可以给我一些起点或者我应该首先阅读的文件吗?

3 个答案:

答案 0 :(得分:5)

OS X和大多数Unix上的调试接口称为ptrace

在命令提示符下键入man ptrace,以获取有关ptrace如何在进程之间进行通信的信息,还可以查看/usr/include/sys/ptrace.h处的标头

答案 1 :(得分:2)

典型的调试器是gbd和(最近)lldb。 OS X上的许多IDE也使用这些IDE。所以..“man gdb”是一个很好的起点。

正如user1118321所提到的,安装Xcode工具集是个好主意,如果你还没有这样做的话。它包括这些工具的编译器,IDE,调试器,分析器和图形程序。

答案 2 :(得分:1)

你没有说明你正在使用哪种语言或工具,所以为了这个答案的目的,我假设你使用带有gcc或clang的Objective-C来编译你的代码并将它链接到一个可执行文件。如果您正在使用其他语言,例如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,请查看/ Developer / Applications中安装的所有应用程序,至少应该找到

Xcode - 在这里编写和调试设计接口 仪器 - 描述您的应用程序,寻找内存泄漏 Icon Composer - 为您的应用程序创建光滑的图标 图形工具 - 主要用于帮助使用OpenGL和Quartz