标签: callstack

静态方法和IIS/asp.net中的调用堆栈

理论问题.如果您有100个单独的请求进入一个调用下面的静态方法的aspx网页.

    public static GeocodeResult GeocodeQuery(string query)
    {
        int train, tube, dlr = 0;

        // manipulate these ints
        if (train)
        {
            // do something important
        }

    }
Run Code Online (Sandbox Code Playgroud)

每个请求都有一个单独的调用堆栈吗?

如果是这样 - 这个静态方法调用是否被推送到这些单独的调用堆栈上?

如果是这样 - 因此这些内部线程是否安全?即.100个请求,100个调用帧,300个整数.

干杯

c# asp.net iis callstack static-methods

3
推荐指数
1
解决办法
1554
查看次数

8086微处理器的堆栈溢出

当堆栈已满并且即使我向其中推入某些东西时,8086微处理器的行为如何?

stack-overflow assembly callstack microprocessors x86-16

3
推荐指数
2
解决办法
1848
查看次数

如何用C制作意大利面堆?

我正在尝试使用C进行协程和继续.我意识到我需要某种意大利面堆叠.是否可以在新的调用堆栈中执行函数?当然在单线程内.如何创建一个新的,分离的调用堆栈,并在其上执行一些代码?

c callstack coroutine

3
推荐指数
1
解决办法
421
查看次数

损坏调用堆栈的C/C++代码

是否有可能通常的代码在c/c ++中损坏调用堆栈?我不是指某种黑客或某种东西,只是一种疏忽的错误或其他东西,而不是随意的,这样每次都会损害它.有人告诉我,一位前同事管理但我不认为这是可能的.有人有这样的经历吗?

c++ callstack

3
推荐指数
2
解决办法
276
查看次数

超出最大调用堆栈大小 - 没有明显的递归

我花了大约12个小时查看这段代码,并摆弄它,试图找出有递归问题的地方,因为我得到了"超出最大调用堆栈大小"错误,并且没有找到它.比我聪明的人请帮助我!

到目前为止,我发现的只是当我创建对象时spot,一个circle对象,问题就消失了,但是当我把它变成'pip'时,我得到了这个堆栈溢出错误.我用一个friggin'显微镜看了一下pip类,但仍然不知道为什么会发生这种情况!

var canvas = document.getElementById('myCanvas');

//-------------------------------------------------------------------------------------
// Classes
//-------------------------------------------------------------------------------------
//=====================================================================================
//CLASS - point
function point(x,y){
    this.x = x;
    this.y = y;
}
//=====================================================================================
// CLASS - drawableItem
function drawableItem() {
    var size = 0;
    this.center = new point(0,0);
    this.lineWidth = 1;
    this.dependentDrawableItems = new Array();
}
//returns the size
drawableItem.prototype.getSize = function getSize(){
    return this.size;
}
// changes the size of this item and the relative size of all dependents
drawableItem.prototype.changeSize = function(newSize){
    var relativeItemSizes …
Run Code Online (Sandbox Code Playgroud)

javascript recursion inheritance callstack class

3
推荐指数
1
解决办法
1807
查看次数

调用堆栈和评估堆栈是如何相关的?

第二次尝试表达这一点:

我正在采取一些步骤来掌握一些MSIL.

我一直听到"评估堆栈"被称为堆栈,操作在加载,使用等时被推送和加载.

因此,给出以下代码:

public class Program
{
    public static void Main()
    {
        var message = GetMessage();

        Console.WriteLine(message);
    }

    public static string GetMessage()
    {
        return "Hello World!";
    }
}
Run Code Online (Sandbox Code Playgroud)

MSIL看起来如此:

.class public auto ansi beforefieldinit Program
    extends [mscorlib]System.Object
{
    .method public hidebysig specialname rtspecialname instance void .ctor () cil managed 
    {
        IL_0000: ldarg.0
        IL_0001: call instance void [mscorlib]System.Object::.ctor()
        IL_0006: ret
    }

    .method public hidebysig static string GetMessage () cil managed 
    {
        .locals init (
            [0] string V_0
        )

        IL_0000: nop …
Run Code Online (Sandbox Code Playgroud)

.net c# vb.net callstack cil

3
推荐指数
1
解决办法
535
查看次数

用编程语言调用堆栈实现

我正在上编程语言课.导师正在解释有关呼叫堆栈的问题.我怀疑导师无法正确解释.如果函数(func1)返回嵌套函数(比如func2并让func2使用func1中定义的变量).我们将返回的值保存在某个变量中,比如returnFunc.在func1中的return语句完成后,func1将退出.并且func1的堆栈帧应该从调用堆栈中弹出.我们现在在代码中的其他地方调用returnFunc.但是,returnFunc使用fu​​nc1本地的变量,其堆栈帧不再存在于调用堆栈中.这是如何运作的.

示例python代码:

def func1():
    a = 3;
    def func2():
        print(a)
    return func2

returnedFunc = func1()
returnedFunc()
Run Code Online (Sandbox Code Playgroud)

这段代码正确打印3.然而我期待一些垃圾值,因为func1在调用堆栈上不再存在

python callstack nested-function

3
推荐指数
1
解决办法
349
查看次数

如何获得iOS中任意线程的正确帧指针?

获取框架指针的方法

在此处输入图片说明

在对iPhone 5S设备/ Xcode的7运行的演示应用,我试过让frame pointer一个的任意线程使用thread_get_state,但总是导致不正确的一项:

- (BOOL)fillThreadState:(thread_t)thread intoMachineContext:(_STRUCT_MCONTEXT *)machineContext {
    mach_msg_type_number_t state_count = MACHINE_THREAD_STATE_COUNT;
    kern_return_t kr = thread_get_state(thread, MACHINE_THREAD_STATE, (thread_state_t)&machineContext->__ss, &state_count);
    if (kr != KERN_SUCCESS) {
        char *str = mach_error_string(kr);
        printf("%s\n", str);
        return NO;
    }

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

我阅读了这样的帧指针:uintptr_t fp = machineContext.__ss.__fp;根据Apple Doc(ARMv6ARM64),

寄存器R7用作ARMv6上的帧指针

而x64在ARM64上

帧指针寄存器(x29)必须始终寻址有效的帧记录,尽管某些功能(例如叶函数或尾部调用)可能选择不在此列表中创建条目。结果,即使没有调试信息,堆栈跟踪也将始终有意义。

_STRUCT_ARM_THREAD_STATE64
{
    __uint64_t    __x[29];  /* General purpose registers x0-x28 */
    __uint64_t    __fp;     /* Frame pointer x29 */
    __uint64_t    __lr;     /* Link register …
Run Code Online (Sandbox Code Playgroud)

c callstack stack-trace stack-frame ios

3
推荐指数
1
解决办法
939
查看次数

为什么VS2017中的Call Stack窗口显示的条目少于VS2012中的条目

VS2017中的调用堆栈窗口不显示VS2012所在的启动外部代码条目.

我附上了几张屏幕截图来展示我在说什么.

在VS2012中调用堆栈窗口

在VS2017中调用堆栈窗口

注意:Just My Code已关闭,因为我正在使用符号,所以这不是问题.

我想知道是否有人知道为什么?这不是一个大问题.我只是好奇这些为什么.

当我正在玩加载外部符号时,我注意到了它.一篇文章说,您可以通过右键单击外部代码条目从"调用堆栈"窗口加载符号.但是,我在VS 2017中无法做到这一点,因为缺少参赛作品.

但是,在我加载符号后(通过来自dotPeek符号服务器的模块窗口),我可以查看外部代码条目.

加载符号后可见外部代码条目

callstack visual-studio-2017

3
推荐指数
1
解决办法
383
查看次数

调试VBA,查找问题和故障排除方法

有哪些调试VBA代码的方法?

特别:

  • 单步执行代码
  • 断点和停止命令
  • Debug命令
  • 当地人和观察窗
  • 调用堆栈

debugging vba callstack breakpoints

3
推荐指数
1
解决办法
859
查看次数