2009-12-14 1 views
0

В приложении IPhone я поставил точку останова в appDidFinishLaunching, а когда я вызвал программу из компилятора с помощью команды-Return, код остановился на моей точке останова.Когда приложение applicationDidFinishLaunching запускается на симуляторе IPhone?

Затем я выключил программу, но не симулятор. Когда я вызывал программу из значка программы, код не останавливался на моей точке останова. Точка останова не была в какой-либо условной области.

Любые идеи относительно того, что здесь происходит?

Спасибо,

Джон Донер

ответ

0

Образованная догадка: контрольная точка не была активна, когда вы запустили приложение с помощью значка программы. Чтобы попасть в точку останова, ваше приложение должно быть запущено из Xcode.

1

Точка прерывания - это то, что известно только отладчику, и только запуск вашей программы из XCode вызывает отладчик. «Запуск и отладка» запускает как ваше приложение, так и gdb (отладчик, который использует XCode), и соединяет их вместе. Когда отладчик видит, что вы достигли точки выполнения, на которую ссылается ваша точка останова, она прекращает выполнение приложения. Само приложение не имеет представления о точке останова.

Если вы запускаете свое приложение с Simulator (или устройства) напрямую, отладчик не работает, и поэтому ваша точка останова не действует. Он не является частью компилируемого приложения.