A decompiler is an unknown tool to Episerver developers. Nobody would dare to use it on Episerver dlls as it is against the EULA. You'll never run into any problems where some extra insight is necessary. Same goes for bugs, those are non-existant anyways. Even though debugging symbols have been available in the past. There is absolutely no way to debug Episerver dlls.
A decompiler is a good friend of many Episerver developers. The docs are pretty extensive but you might find yourself in a position where you want to know how to implement certain functionality. Next to that you could be running into a bug in the framework, which could be like looking for a needle in a haystack. Unfortunately there are no debugging symbols available for us Episerver developers (I've heard that the symbols have been available in the past though).
Anyways, it is possible to debug basically any dll. A great tool for this is JetBrains dotPeek. You can follow the steps for setting up dotPeek on the JetBrains help page. After that just start dotPeek, start the symbol server and drag the episerver dll to the assembly explorer (as I've set up dotPeek to serve just those dlls). After doing so you have to add the symbol server url in Visual studio by going to tools->options->Debugging->Symbols. You'll have to disable 'Just My Code' on tools->options->Debugging->General and press the 'Load' button on the 'No Symbols Loaded' page. You can now step through and place breakpoints in epi code . Some extra info can be found here and here
- Click on “Really?! Click here! Thruth or dare ”
- Install dotPeek, start dotPeek, start the symbol server
- Add any dll (episerver.dll perhaps?) to Assembly explorer in dotPeek
- Add your symbol server url to vs-tools->options->Debugging->Symbols
- Disable ‘Just My Code’ on vs-tools->options->Debugging->General
- Now you can load debug symbols for epi during debugging
- Other option is to place pdb file in bin next to episerver.dll
- More info