to post messages and comments.

Привет. Я ксамарин. Я вижу, ты решил собрать очередную apk под android. Это мило. Но знаешь что? Нет. Просто "нет". Никаких apk. И я тебе ничего не скажу. Сиди вот и думай. Такой я загадочный, да. Скажу, что compilation succeeded, а apk не сгенерю. Приятного времяпрепровождения.

Аксиома раз: нет JIT, только AOT. (Платформа виновата)
Аксиома два: нельзя использовать Emit (Джобс пидарас).

Как бы мне в рантайме заинжектить код во все методы? Так, что бы можно было например при вызове любого метода вывести в консоль "Метод METHOD_NAME вызван".

P.S. Ответы, противоречащие первым двум аксиомам так же принимаются.

Заранее спасибо.

P.P.S.
Как это сделать после компиляции я знаю (всякие Mono.Cecil и проч.), проблема в том, что мы не можем пока вклиниться в цикл сборки — Xamarin ХУЕВО генерирует мейк-файлы(не получается через них собирать), а вклиниться в нужный момент сборки в IDE нельзя — там либо prebuild, либо postbuild.

Пытаюсь выяснить причины крашей при выходе приложеньки из фона. Ковыряюсь atos-ом в бинарнике по адресам в крешлоге. Натыкаюсь на охуительную сигнатуру : WidevineMediaKit::Session::DoFillNamedUrlParams(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&)

Понимаю, что несмотря на то, что я только что с больничного, мне уже хочется в отпуск.

В последнем обновлении студии Expression Evalautor окончательно доломали. Совсем ничего не может увидеть в случае, когда происходят какие-то операции со словарями. Happy Debugging!

Бьюсь с дичайшими утечками памяти. Приложенька зожирает 150 мегов памяти и радостно падает. В Allocations куча информативной фиготы в виде "monoeg_malloc", а MonoHeapShot видит только восемь метров красивых моно-обьектов.

При использовании необязательного параметра в методе, ежели значение оного равно null, в функцию может со стека прилететь рандомная хуИта. Пример:

MethodName(String id, Film film = null)

Внезапно film оказывается Action<String>.

Интересно девки пляшут.

Разбираюсь c самостоятельно накостыленным ThreadPool-ом (который использует заранее созданные треды и ManualResetEvenSlim) и кодом,который пользуется этим самым пулом, и так же использует ManualResetEventSlim для своих внутренних целей. Непонятным образом второй ManualResetEvent превращает первый ManualResetEvent в unsignaled. Бьюсь с этим уже который день, и не знаю что делать.