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