You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Azure Function部署时Microsoft.Azure.WebJobs空引用错误的具体细节

Azure Functions部署Sequelize依赖时的空引用异常排查问题

我通过Azure DevOps CI/CD以压缩包方式部署Azure Function,代码通常能成功部署,但引入npm依赖Sequelize后,应用启动会触发空引用错误,界面报错如下:
Azure Functions启动错误截图

关于Azure Function的配置详情,可参考StackOverflow上的相关问题。

两次依赖导入失败的案例中,仅当导入Sequelize类时会触发函数故障,且故障重现存在随机性(怀疑和浏览器缓存有关)。Application Insights提供的堆栈跟踪如下:

System.NullReferenceException:

   at Microsoft.Azure.WebJobs.Script.WorkerFunctionMetadataProvider+<GetFunctionMetadataAsync>d__10.MoveNext (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/WorkerFunctionMetadataProvider.cs:83)

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at Microsoft.Azure.WebJobs.Script.WebHost.FunctionMetadataProvider+<GetFunctionMetadataAsync>d__10.MoveNext (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/FunctionMetadataProvider.cs:45)

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at Microsoft.Azure.WebJobs.Script.FunctionMetadataManager.LoadFunctionMetadata (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/FunctionMetadataManager.cs:145)

   at Microsoft.Azure.WebJobs.Script.FunctionMetadataManager.GetFunctionMetadata (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/FunctionMetadataManager.cs:89)

   at Microsoft.Azure.WebJobs.Script.ScriptHost.GetFunctionsMetadata (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/ScriptHost.cs:372)

   at Microsoft.Azure.WebJobs.Script.ScriptHost+<InitializeAsync>d__93.MoveNext (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/ScriptHost.cs:279)

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at Microsoft.Azure.WebJobs.Script.ScriptHost+<StartAsyncCore>d__92.MoveNext (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/ScriptHost.cs:256)

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at Microsoft.Extensions.Hosting.Internal.Host+<StartAsync>d__12.MoveNext (Microsoft.Extensions.Hosting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60)

   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at System.Runtime.CompilerServices.TaskAwaiter.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)

   at Microsoft.Azure.WebJobs.Script.WebHost.WebJobsScriptHostService+<UnsynchronizedStartHostAsync>d__52.MoveNext (Microsoft.Azure.WebJobs.Script.WebHost, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script.WebHost/WebJobsScriptHostService.cs:328)

由于故障重现存在随机性,且无法得知具体哪个变量/属性为空,目前排查陷入僵局,请问如何获取该空引用的具体细节?

内容的提问来源于stack exchange,提问作者Aiden Dipple

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:03:13