In a WPF project(with prism) we are using Unity
as DI framework.
Recently, after we merged two big branches, we were not able to start our application, we were having StackOverflowException
. Due to the nature of the exception, we were not able to get his call stack or current values, we were only seing that the issue was comming from Unity due to the namespace.
We spent more than 5 hours to find were the issue was occuring:
Simplified:
We were having 3-4 services(A, B, C and D), each one with an implementation, and at some point, the service A was requiring the service B, which was requiring the service C, which was requiring the service D, which was requiring the service A). Basically a cyclic reference.
We would like to know if there is any possibility to add some logs that Unity
is trying to solve Service A with the implementation X, and was requiring to resolve service B, ...
This would have helped us a lot to debug this issue, to directly see which services were implicated in this cyclic reference.
Is there anyway to achieve this?