Closed hez2010 closed 2 years ago
The DependencyGraphViewer tool tends to work better for the cases where the graph is incomplete. Thanks to it being out-of-process, it can better handle all sorts of fatal situations like running out of memory. It might be interesting to add DGML export to the viewer tool.
The DependencyGraphViewer tool
I tried it but nothing showed up in the list after launching an ilc process. Am I missing something?
I tried it but nothing showed up in the list after launching an ilc process. Am I missing something?
Did you have the DGML logging option specified by any chance? EventSource logging (consumed by the DependencyGraphViewer) doesn't happen if DGML is requested.
EventSource logging (consumed by the DependencyGraphViewer) doesn't happen if DGML is requested.
Seems to be the case. Thank you.
Closing since we can already use DGViewer for the purpose.
ilc may fail during marking or compilation, in this case no dgml would be written out so we cannot diagnostic the issue with the dependency graph (though it's incomplete).
https://github.com/dotnet/runtime/blob/5371203d5820a21922357e954e8c43eb4b76fd1d/src/coreclr/tools/aot/ILCompiler/Program.cs#L817
I think instead of throwing the exception directly in the compilation process, we should just write the dgml even if the dependency graph is incomplete, if appliable.