如果暂挂一个线程,则其堆栈帧显示为子元素。
If the thread is suspended, its stack frames are shown as child elements.
可以在堆或函数的堆栈帧上构造对象。
You can construct the object on the heap or on the stack frame of a function.
获取此线程执行时所用堆栈帧的集合。
Gets the collection of stack frames through which this thread is executing.
用于检查和操作堆栈帧。
这个函数,从它调用自己开始,就很好地使用了堆栈帧。
This function, since it calls itself, makes very good use of stack frames. Let's look at how the factorial function would work in assembly language (enter as factorial.s)
每当调用一个函数,就会使用一个新的堆栈帧来支持该调用。
Every time a function is called, a new stack frame (an area of memory inside the stack) is used to support the call.
结果,当前堆栈帧中的某些本机代码是过时的、陈旧的。
As a result, some native code in the current stack frame is now out of date, that is, stale.
否则,它假定所提供的地址是有效的堆栈帧起始地址并设法进行回溯。
Otherwise, it assumes the provided address as a valid stack frame start address and attempts to traceback.
获取函数的元数据标记,该函数包含与此堆栈帧关联的代码。
Gets the metadata token for the function that contains the code associated with this stack frame.
我们为什么不考虑堆栈帧的大小而递归程序计算的空间复杂度?
Why don't we consider stack frame sizes while calculation Space Complexity of recursive procedures?
调用类和它的上级(即所有在它上面的堆栈帧)的权限集都不包括在交集计算中。
The permissions sets of the caller class and its ancestors (that is, all stack frames above this one) are not included in computing the intersection set.
由于活动记录是在堆栈上实现的,它们通常也会被称为堆栈帧,这两个术语是对等的。
Because activation records are implemented on a stack, they are often referred to as stack frames, but both terms are equivalent.
clr调试api使用经过优化的JIT编译代码来启用堆栈帧和局部变量检查。
The CLR debugging API enables inspection of stack frames and local variables with JIT-compiled code that has been optimized.
如果堆栈帧未处于活动状态,则此地址是在重新激活堆栈帧时要执行的下一条指令。
If the stack frame is not active, this address is the next instruction to execute when the stack frame is reactivated.
获取或设置导致安全检查失败的唯一允许堆栈帧的一部分权限、权限集或权限集集合。
Gets or sets the permission, permission set, or permission set collection that is part of the permit-only stack frame that caused a security check to fail.
用户输入实际上更难以保证安全性,因为没有堆栈帧来跟踪可能不受信任的代码的存在。
User input is actually harder to make safe because there is no stack frame to trace the presence of the potentially untrusted data.
最困难的部分是确定堆栈帧不同部分的不同偏移量,了解每个部分应该放到哪里,以及大小应该是多少。
The most difficult part is determining the different offsets of the different parts of the stack frame, knowing where each piece should go, and what size it should be.
让我们假设函数func1使用3个参数来调用func2,并且func2有一个112字节的堆栈帧。
So, let's say that function func1 calls function func2 with three parameters, and func2 has a 112-byte stack frame.
因此,在函数中使用非易失性寄存器之前,它的值必须保存到该函数的堆栈帧中,然后在函数返回之前恢复。
Therefore, before using a non-volatile register in a function, its value must be saved in the function's stack frame, and then restored before the function returns.
堆栈帧中的最后一个条目是一个指向前一堆栈帧的指针,通常被称为后向指针(backpointer)。
The final item in the stack frame is a pointer to the previous stack frame, often called the back pointer.
如果此堆栈帧处于非活动状态,则该偏移量将是在重新激活该堆栈帧后要执行的下一条指令的地址。
If this stack frame is not active, the offset is the address of the next instruction to be executed when the stack frame is reactivated.
调用方可以把参数存到这个堆栈帧的边上,这样被调用方可以很容易的找到它,而不像上面那样需要额外的开销。
Then the calling procedure can store the arguments adjacent to (or part of) the new stack frame, where the called procedure can find them.
当函数开始时,它实际上会将链接寄存器保存到调用函数的堆栈帧中,而不是自己的堆栈帧中,然后只有在需要时才会保存它。
When a function begins, it actually saves the link register in the calling function's stack frame, not its own, and then only if it needs to save it.
您可能会奇怪为什么在开始参数大小计算时要检查方法是否是静态的,如果是静态的,将堆栈帧槽初始化为零(不是静态正好相反)。
You might wonder why I check whether the method is static at the start of my parameter size calculation, then initialize the stack frame slot to zero if it is (as opposed to one if it is not).
用来解析资源名称冲突的机制是:如果两个库jar文件都用相同的全局名称定义一个资源,那么则根据调用程序的堆栈帧来采用局部名称。
This mechanism is used to resolve resource-name conflicts: if two library JAR files define a resource with the same global name, the local names will be used based on the stack-frame of the caller.
mbackchain和 -mno-backchain:这些选项控制调用方帧的地址是否作为 “backchain”指针存储到被调用方的堆栈帧。
mbackchain and -mno-backchain: These options control whether the address of the caller's frame is stored as so-called "backchain" pointer into the callee's stack frame.
函数在函数开始过程中(称为函数序言(function prologue))创建堆栈帧,并在函数结束时(称为函数尾声(functionepilogue))销毁它。
Functions create the stack frame during the beginning of the function (called the function prologue) and tear it down at the end of a function (called the function epilogue).
mwarn-framesize=framesize和 -mwarn-dynamicstack:这些选项会引起在编译时检查函数是否超过给定的堆栈帧(stack frame)大小或使用动态调整的堆栈帧。
mwarn-framesize=framesize and -mwarn-dynamicstack: These options cause a compile-time check whether a function exceeds a given stack frame size or uses dynamically sized stack frames.
如果内核编译期间设置了CONFIG_FRAME _ POINTER选项,那么就用帧指针寄存器来维护堆栈,从而就可以正确地执行堆栈回溯。
If the CONFIG_FRAME_POINTER option was set during kernel compilation, the frame pointer register is used to maintain stacks and, hence, the stack traceback can be performed correctly.
如果内核编译期间设置了CONFIG_FRAME _ POINTER选项,那么就用帧指针寄存器来维护堆栈,从而就可以正确地执行堆栈回溯。
If the CONFIG_FRAME_POINTER option was set during kernel compilation, the frame pointer register is used to maintain stacks and, hence, the stack traceback can be performed correctly.
应用推荐