0

我下载了 .NET 教程示例以开始使用 Azure Batch。

我的目标是自动化(每 2 分钟运行一次)Web api 调用并将我返回的数据存储到数据存储容器中。

问题是我在池中的节点(VM)上执行的任务返回失败,确切的错误是“任务退出,退出代码表示失败”。

所以我继续打印导致失败的错误退出代码。退出代码是 -1073741819。但这告诉我什么????我在网上找不到任何可以告诉我这个退出代码代表什么的东西???怎么解决??

有时当我再次运行它时,它在另一个退出代码 -532462766 上失败。如何调试 Azure 云中我的 VM 上发生的故障?

4

1 回答 1

4

您可以查看任务的stderr.txtstdout.txt文件,以进一步了解问题。查看这些文件的最简单方法是转到Azure 门户并导航到您的 Batch 帐户。您可以单击Jobs哪个将展开作业刀片。单击相关任务,然后单击Files on node。您应该同时看到stderr.txtstdout.txt查看。您还可以通过 .NET SDK 通过CloudTask.GetNodeFile/GetNodeFileAsync以编程方式检索这些文件。

您还可以 RDP 进入您的计算节点并查看 Windows 事件查看器,以进一步了解您的程序崩溃的原因。您可以通过 Azure 门户生成 RDP 凭据,方法是导航到执行任务的计算节点(池 -> 选择池 -> 节点 -> 选择节点)并添加远程用户。

至于您的退出代码,-1073741819 是 C0000005(似乎是访问冲突),-532462766 是 E0434352(似乎是 CLR 异常)。您需要对代码产生这些错误的原因进行一些研究。一项健全性检查是确保您将所有必需的 DLL 和程序集与您的程序一起打包为应用程序包的一部分或与任务资源文件一起打包。

于 2017-08-14T14:42:04.880 回答