2012-01-05 4 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 и большинство Unixes называется ptrace.

Тип man ptrace в командной строке для получения информации о том, как ptrace общается между процессами, а также взглянуть на заголовок на /usr/include/sys/ptrace.h

+1

Это то, что я действительно хотел знать. –

2

Типичными отладчиками являются gbd и (недавно) lldb. Многие IDE на OS X также используют их. Итак, «man gdb» является хорошей отправной точкой.

Как упомянуто пользователем1118321, установка набора инструментов Xcode была бы хорошей идеей, если вы этого еще не сделали. Он включает компиляторы, IDE, отладчики, профилировщики и графические программы для этих инструментов.

+1

Кроме того, если вы привыкли использовать VisualStudio или Eclipse, или какой-либо другой IDE на Windows, , вы должны установить Xcode. – user1118321

+0

@ пользователь1118321 спасибо - добавлен. – justin

1

Вы не указали, какой язык или инструменты вы используете, поэтому для целей этого ответа предположим, что вы используете Objective-C с помощью gcc или clang для компиляции кода и связывания его с исполняемый файл. Если вы используете какой-либо другой язык, например, java или ruby, эквивалент из окон, вероятно, существует и для OS X.

В общем, unix использует GDB для отладки, а OS X не отличается. Вы не всегда присоединяете его к запущенному процессу, я считаю, что более частым является запуск процесса в отладчике, хотя существуют инструменты (такие как инструменты), которые будут обрабатывать текущий процесс.

Если вы используете 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 основном

Смежные вопросы