Posts

Showing posts from August, 2017

Decompilation - async await problem hunt

Image
The story Project that I love (because it's my baby) and work with, is written in very asynchronous manner. It's great in most of the times - e.g. no blocking of user interface, faster background loading. But sometimes problems occurs... We had one problem, strange things where happening. Whoever tested the case got different 'special' effects. I won't describe details but it looked like not all threads/tasks where synchronized on UI thread and refreshed data didn't appear before it was used again. What could be the reason? Nice code and design, we are using generic method invoker to call other methods - it's a wrapper for all calls. It's of course asynchronous and calls asynchronous methods by lambda expression, something like this: return await CallSleepyComplicatedAwaitingWithFunc(() => CallSleepyComplicated());     Internet never dies When something is posted once on internet it is there forever (or at leas a very long time). But wor

Decompilation - dll spy toolset

Image
Did you ever needed to check what is inside some DLL or EXE file? In the dark ages that was popular way to gain certain knowledge, sometimes not so legal, but it was time that there was no open source. I know, not good enough excuse. Let's leave it alone in past. Still, curiosity of decompiling is a good thing. In dark ages there was a .Net Reflector  but one day it became a Pro version (paid version). fortunately where is a need there is a product, even two, maybe more but those two i know best dotPeek from Jet Brains and Just Decompile from Telerik. Using them is very easy, just drop file and it will be decompiled. Both applications are pretty efficient and generates almost ideally projected original code. Dot peek even recreates comments! Why this is alarming? Comments doesn't supposedly end up in released application. Decompiling you own code to exactly the same code is not very useful.  There is one more tool that is much more interesting. ILSpy . Di