W3wp Diagnostics Report: List of modules compiled in debug mode
I am looking at a report from a process dump that I generated on a production server. The Asp.Net app is compiled in release mode and deployed to Azure App Service. But when I look at the generated report, it has a section "List of modules compiled in debug mode". I see a lot App_Web_xxxxxxx
(where x is a random character) and the other is namedMicrosoft_Web_Compilation_Snapshots
Is it okay for all these modules to be compiled in Debug mode if I compiled my application in Release mode? what are all these App_Web_xxxxxxx modules, are they precompiled or something else?
source to share
We had the same problem. Take a look in your web.config at <system.codedom>
; add /optimize+ /debug-
to attribute compilerOptions
.
After that, the build changes went from
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.Default | DebuggableAttribute.DebuggingModes.DisableOptimizations | DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints | DebuggableAttribute.DebuggingModes.EnableEditAndContinue)]
to
[assembly: Debuggable(DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
EDIT: To specifically answer your question, these are the JIT views in your application. At runtime, it will compile these views. It looks like whatever your parameter <system.compilation>
it will compile them in debug mode. Here are some discussions I found that seem relevant: https://forums.asp.net/t/1625220.aspx?Razor+compilation
If you need to know more of these compilation flags, you can find them here (for C # anyway).
source to share