Буквально на прошлой неделе была проведена мини-конференция по внутренностям CLR и как ими можно манипулировать. Сам тренинг очень сильно ждали и хотели увидеть не только в Москве, но и в остальных городах (ссылка на статью на Хабре с опросом). И, исходя из того что сам я живу в Санкт-Петербурге, анонсирую его грядущее проведение именно в этом городе. Прошу заметить что время проведения этой мини-конференции — вечернее. Это сделано для того чтобы Вы смогли сходить на него не отпрашиваясь с работы и не беря отгул. На этот раз день проведения — четверг. А это значит что у вас будет свободен вечер пятницы. А это, согласитесь, прекрасно -)
На текущей мини-конференции появилась новая тема — декомпиляция и обратная компиляция. Разбор библиотеки Mono.Cecil и личного опыта замены ей продукта PostSharp.
На этой мини-конференции будут освещены следующие темы:
- Управление памятью .Net/Windows/процессора
- Строение объектов .Net в памяти
- Передаем объекты между AppDomains без сериализации: без накладных расходов.
- Как работают исключения? Вклиниваемся в процессы обслуживания исключений.
- Пишем пул объектов вне .Net памяти
- Пишем ядро Memory Profiler’а — делаем дамп виртуальной памяти с распознанием .Net объектов в ней.
- Пишем метод fork(): метод, создающий поток, который стартует с того же места, на котором был вызван fork (ветвление потоков) — C++/CLI/asm
- Декомпиляция, редактирование и обратная компиляция. Что такое MSIL и так или он прост?
Картинка для затравки (после вызова CloneThread, текущий поток ветвится на два, каждый из которых идет в свою часть условия if):
Читать полностью »