激活记录是否用于查找错误行

Is the Activation Record used in finding the line of the error?

本文关键字:错误 查找 用于 记录 是否 激活      更新时间:2023-10-16

所以我最近遇到了"激活记录"这个术语,对它的工作原理和用途非常感兴趣。

我的问题是这能深入到什么程度?我知道这是一个堆栈框架,记录随着范围的变化而变化,但程序员能在多大程度上实现这一点?

这是大多数IDE用来判断错误在哪一行的吗?

此外,AR中究竟"记录"了什么?

激活记录只是一个被视为数据结构的堆栈帧。这些术语是同义的,尽管我也认为激活记录是抽象数据类型,它将堆栈帧作为实例生成。(也许只是因为在Pascal中,record的意思是struct。)不管怎样,它都包含局部变量。

它是一个运行时概念,在生成诊断错误消息时不会在编译时实现。编译器最多可能引用一些数据类型的抽象表示。