Функции math.h в lldb не работают

Можно ли вызывать функции из math.h при использовании отладчика lldb?

Я пытаюсь отладить некоторый математический код iOS и получаю неверные результаты от отладчика Xcode5:

(lldb) p (double)pow(2., 2.)
(double) $0 = NaN

В другом сообщении упоминается, что отладчик не знает прототип функции pow, поэтому я также попытался привести функцию к правильному типу, но это все равно не сработало:

(lldb) p ((double(*)(double, double))pow)(2., 2.)
(double) $0 = NaN

Однако он работает при вызове из моего работающего кода Objective C:

NSLog(@"Power is %f", pow(2., 2.));

2013-12-10 14:41:25.651 Foo[27481:70b] Power is 4.000000

person tboyce12    schedule 10.12.2013    source источник
comment
Это определенно возможно. Например, попробуйте (lldb) p (double) sin(70.0)... это работает, но по какой-то причине я не могу заставить pow работать...   -  person Eric    schedule 11.12.2013
comment
Да, sin у меня тоже работает, но не все остальные математические функции. Меня особенно интересует использование функции log в моей отладке, но она не работает: (lldb) p (double)log(1.) выводит (double) $0 = NaN.   -  person tboyce12    schedule 11.12.2013


Ответы (1)


Какую версию Xcode вы используете, когда видите это? Вы видите это в Xcode 5.0? Я использую что-то немного более новое, и это выглядит нормально при отладке приложения iOS на устройстве armv7s:

(lldb) p (double)pow(2.0,2.0)
(double) $0 = 4
(lldb) p (double)log(1.0)
(double) $1 = 0
(lldb) 
person Jason Molenda    schedule 11.02.2014
comment
В настоящее время я использую XCode версии 5.0.2 (5A3005). Не могу вспомнить точную версию, на которой я был, когда разместил этот вопрос. Отладка на моем устройстве помогла, но в симуляторе у меня все равно не работает. Возможно, я раньше не пробовал это на устройстве, поэтому спасибо за этот совет! - person tboyce12; 14.02.2014
comment
Интересно, вечером дома попробую на симуляторе. - person Jason Molenda; 14.02.2014