Дано(для каждой платформы):
- собранная статично pjsip;
- собранная статично openssl
- собраннй статично модуль zrtp4pj;
- собранная статично обертка для работы со всем этим.
Проблема:
при работе с методами Cи pjsip все хорошо. Как только начинаем вызывать
метод из zrtp4pj (под капотом которого zrtpcpp) падает при обращении к
экземпляру класса которому парой строчек выше сделали new.
Точнее тут
https://github.com/grender/ZRTPCPP/blob/master/zrtp/ZIDCacheFile.cpp строка
207 падает из за того что zidRecord NULL.
Предполагается, что проблема связана с линковкой кода С++ к чистому С. Возникает она
не на всех платформах:
- MacOS i386(gcc)- все работает
- iOs при сборке нативными средствами(clang) - все работает
- iOs при сборке внутри Xamarin(clang)-есть проблема
- android ndk при сборке динамической библиотека(пробовал и gcc,и clang)-есть
проблема
Место падения было найдено при помощи нативных средств дебага ios -
xcode,android-gdb.
Есть светлые мысли, идеи, предложения? (Идея купить ксамариновскую бизнес-лицензию и задать вопрос поддержке будет реализована в итоге, но не прямо сегодня. А проблема мешает работать).
UPD: Всем спасибо, проблема поборота, помогли Ваши указания на то, что скорее всего неправильно интерпретирована проблема, видимая при отладке. Действительно, не то копали.