Если вы похожи на меня, бывают случаи, когда вы хотите игнорировать определенные исключения (например, периодически глючная ошибка Apple CMMThrowExceptionOnError, которую Apple игнорирует, чтобы предоставить какие-либо отзывы о моих отчетах об ошибках в течение нескольких месяцев)
Итак, мое не очень эффективное решение состоит в том, чтобы добавить следующую точку останова вместо «Добавить точку исключения C ++ ...»
из командной строки GDB, введите
перерыв __cxa_throw
Затем в редакторе точек останова XCode добавьте следующую «Команду отладчика» к этой точке останова. Подставив неправильный адрес $ eip, вы можете исключить
исключения из вашей точки останова.
silent
# go up one stack frame silently
up-silently
# in my particular app, address of CMMThrowExceptionOnError is 0x9704d22e
if ( $eip == 0x9704d22e )
# echo gdb ignore exception\n
#print $eip
cont
end
Если вы можете придумать лучшее решение, которое не связано с накладными расходами сценария отладчика, сообщите мне.