Процессор профилирует приложение Какао в поле - PullRequest
2 голосов
/ 10 августа 2010

У меня есть пользователь, который жалуется на то, что мое приложение отнимает много процессорного времени, когда оно должно простаивать. Это приложение Какао на Mac OS Leopard. Я бы хотел, чтобы фоновый поток периодически собирал следы стека основного потока и записывал их в журнал. В качестве альтернативы, если бы я мог заставить его запустить программу командной строки, чтобы получить стеки всех потоков (или, что еще лучше, граф вызовов с информацией о профилировании процессора), он мог бы сделать это и отправить мне результаты. Я знаю, что в XCode встроено профилирование процессора, но эта проблема воспроизводима только на компьютере пользователя, поэтому XCode не вариант (я не хочу просить его установить его).

Я не могу найти инструмент командной строки, который бы выводил следы стека в OSX, а также не могу найти API для доступа к стекам других потоков. Я думаю, что GDB мог бы сделать это, но это было бы очень трудно объяснить пользователю.

1 Ответ

2 голосов
/ 10 августа 2010

Сообщите своему пользователю, чтобы запустить Activity Monitor (в / Applications / Utilities). В Activity Monitor ваш пользователь может выбрать строку, соответствующую вашему приложению, и нажать кнопку «Образец» на панели инструментов. Это займет 10-секундный образец вашего приложения. Затем он может сохранить это на диск и отправить вам файл по электронной почте.

Редактировать : Если вам нужна версия этого для командной строки, посмотрите / usr / bin / sample. Он фактически делает то же самое, хотя Activity Monitor должен быть намного проще для конечного пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...