我的项目在将其附加到我的w3wp.exe IIS工作进程时加载速度明显更快,而在“开始调试”时加载速度较慢。
但是,无论我是“开始调试”还是“附加到进程”,相同的工作进程似乎都在处理相同数量的模块/DLL(w3wp.exe)。
为什么附加到进程会快得多?
但是,无论我是“开始调试”还是“附加到进程”,相同的工作进程似乎都在处理相同数量的模块/DLL(w3wp.exe)。
为什么附加到进程会快得多?
“开始调试”将在启动时附加调试器,从头开始启动可执行文件的新实例,因此需要所有必要的调试器调用的开销。 而“附加到进程”则会附加到已经运行的进程,因此直到该操作完成之前,您的进程都没有因调试而引起的额外开销。
没有调试的代码执行速度更快。当你附加进程时,应用程序已经启动,池已启动,因此在调试模式下不执行一些重型操作,例如Application_OnStart事件和其他一些操作。