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