32位进程无法访问Azure应用程序日志上的64位进程的模块

时间:2019-03-15 08:40:53

标签: asp.net azure azure-web-sites 32bit-64bit kudu

我们正在32位Azure应用服务上运行ASP.NET 4.7.2站点。该网站是使用Visual Studio 2017(15.9.9)和“任何CPU”配置文件进行部署的。

在通过Azure界面使用应用程序日志流时,我们看到许多错误,这些错误暗示存在64位模块,但无法访问。

以下是错误的示例:

2019-03-14T21:04:19      Error occurred, type: error, text: A 32 bit processes cannot access modules of a 64 bit process., stackTrace:    at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
   at System.Diagnostics.ProcessManager.GetModuleInfos(Int32 processId)
   at System.Diagnostics.Process.get_Modules()
   at Kudu.Services.Performance.ProcessController.<>c__DisplayClass23_0.<GetProcessInfo>b__2() in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 446
   at Kudu.Services.Performance.ProcessController.SafeGetValue[T](Func`1 func, T defaultValue) in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 531
2019-03-14T21:04:19      Error occurred, type: error, text: A 32 bit processes cannot access modules of a 64 bit process., stackTrace:    at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
   at System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId)
   at System.Diagnostics.Process.get_MainModule()
   at Kudu.Services.Performance.ProcessController.<>c__DisplayClass23_0.<GetProcessInfo>b__3() in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 447
   at Kudu.Services.Performance.ProcessController.SafeGetValue[T](Func`1 func, T defaultValue) in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 531
2019-03-14T21:04:19      Error occurred, type: error, text: D:\local\LocalAppData\SnapshotUploader\SnapshotUploader.exe, stackTrace:    at System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)
   at System.Diagnostics.ProcessModule.get_FileVersionInfo()
   at Kudu.Services.Performance.ProcessController.GetProcessModuleInfo(ProcessModule module, String href, Boolean details) in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 401
   at Kudu.Services.Performance.ProcessController.GetModules(Process process, String href) in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 345
   at Kudu.Services.Performance.ProcessController.<>c__DisplayClass23_0.<GetProcessInfo>b__22() in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 472
   at Kudu.Services.Performance.ProcessController.SafeGetValue[T](Func`1 func, T defaultValue) in C:\Kudu Files\Private\src\master\Kudu.Services\Diagnostics\ProcessController.cs:line 531

我们在本地没有遇到任何问题,但是看到Azure上的CPU使用率异常高(可能或可能不相关)。

在本地构建/运行不会报告与64位进程有关的任何内容。

这是我们的网站还是平台的问题?如果这是我们的问题,我们如何淘汰流氓的64位代码?或者,我们只是切换到64位进程并完成它?

我们希望继续使用32位设置。我意识到这个错误以前曾在SO上出现过,但相对于Windows开发人员而言(据我所知)总是如此。预先感谢!

0 个答案:

没有答案