Какова инструкция, чтобы вызвать хард-брейк в Xcode? Например, в Visual Studio я мог бы сделать «_asm int 3» или «DebugBreak ()». В некоторых реализациях GCC это asm ("break 0") или asm ("trap").
Я попробовал различные комбинации под XCode без какой-либо удачи. (встроенный ассемблер работает нормально, так что это не проблема синтаксиса).
Для справки это макрос assert. Я не хочу использовать определения в assert.h как для переносимости, так и потому, что они, похоже, выполняют abort () в версии, которую предоставляет XCode.
Джон - Супер, ура. Для справки синтаксис int 3 необходим для Intel Mac и iPhone.
Крис - Спасибо за ваш комментарий, но есть много причин избегать стандартной функции assert () для кодовых баз, портированных на разные платформы. Если у вас возникли проблемы с развертыванием собственного утверждения, обычно это связано с тем, что у вас есть дополнительные функции (ведение журнала, раскрутка стека, взаимодействие с пользователем), которые вы хотите сохранить.
Ваше предложение попытаться заменить хандер с помощью реализации __assert или подобного не будет переносимым. Стандартный 'assert' обычно является макросом, и хотя он может отображаться на __assert на Mac, он не на других платформах.