0

不确定是否有其他人遇到这种情况,但是每当我在 Visual Studio 中调试我的计划任务时,我发现计划任务主机会加载父应用程序 DLL。我在输出窗口中看到它。我没有提及它,也没有使用其中的任何资源。

'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: DefaultDomain): Loaded 'C:\windows\system32\mscorlib.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Windows.RuntimeHost.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Windows.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Net.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Xml.ni.dll'. 

// This is the actual app DLL!!
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\Data\Programs\{79787132-3A86-445F-BDD5-206D298D732F}\Install\MyWP8App.DLL'. Symbols loaded.

'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\Microsoft.Phone.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\Microsoft.Phone.Interop.ni.dll'.  

// This is the scheduled task DLL (as expected)
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\Data\Programs\{79787132-3A86-445F-BDD5-206D298D732F}\Install\MyWP8ScheduledTask.DLL'. Symbols loaded. 

// This is the portable DLL for shared logic (as expected)
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\Data\Programs\{79787132-3A86-445F-BDD5-206D298D732F}\Install\MyWP8App.Shared.DLL'. Symbols loaded.

'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Threading.Tasks.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Core.ni.dll'. 
'HeadlessHost.exe' (CLR C:\windows\system32\coreclr.dll: Silverlight AppDomain): Loaded 'C:\windows\system32\System.Runtime.Serialization.ni.dll'. 

为什么会这样?当计划任务开始时,我的内存使用量已经是 4.4MB!

4

1 回答 1

0

我的猜测是正在加载它以查找对作为实际计划任务的适当 DLL 的引用。

请注意,在调试器下分析内存时,调试器将向进程使用的内存添加约 3MB。因此,您无法准确分析调试器下的内存使用情况。另请注意,在调试器下未强制执行内存限制,因此这不是一个现实的测试。
重要的是仅在不在调试器下时分析和关注内存问题。是的,这使得跟踪有点尴尬,但这是一个现实的测试。

除非你有真正的问题,你可以明确地归结为这一点,否则我不会担心。

于 2013-09-18T08:45:17.207 回答