我在单步执行过程中遇到了一个异常,我单击“确定”并将下一阶段设置为先前执行的阶段。在这种情况下,blueprism 大多会给出以下错误:
“内部:已达到堆栈不平衡”
为什么我会收到此错误?
请帮忙。
我在单步执行过程中遇到了一个异常,我单击“确定”并将下一阶段设置为先前执行的阶段。在这种情况下,blueprism 大多会给出以下错误:
“内部:已达到堆栈不平衡”
为什么我会收到此错误?
请帮忙。
在以下情况下,Blue Prism 中可能会发生堆栈不平衡错误:
要从堆栈不平衡错误中恢复,您可以:
堆栈不平衡是由于在调试模式下前进太快造成的。我无法确切知道它是如何工作的,但我怀疑行为如下:
当您按 F10(跳转)时,您将执行该过程,系统会将返回地址压入堆栈。如果您在退出第一个进程之前再次按 F10,您会将新内容压入堆栈,现在您已经在堆栈上创建了一个不平衡,并且当第一个进程尝试从堆栈中弹出时,返回地址将为 false。
要了解有关堆栈的更多信息,请参阅 wiki 链接:Wiki Call Stack
当您处于恢复模式(已发生异常但尚未被恢复阶段清除)并手动设置为运行另一个阶段并且再次发生另一个异常时,将引发此错误。
几个月前我开始研究 BluePrism,相信我,我遇到过很多次这个错误。根据我所注意到的,此错误发生在调试模式下。那是当您通过“Stepping In”运行代码时。
如果您已经运行了一个 Stage,并且在当前 Stage 仍在运行时介入,您将收到此错误。
要让您的代码重新运行,您可以尝试以下操作:
您很可能没有通过Resume和Recover传递异常来正确处理异常。如果异常中断,则必须通过Recover和Resume才能解决,否则将抛出堆栈不平衡错误
我认为您必须点击 RESET 按钮。