Mono.Debugger.Backend.SingleSteppingEngine.compute_frame C# (CSharp) Method

compute_frame() private method

private compute_frame ( TargetAddress address ) : StackFrame
address TargetAddress
return System.Diagnostics.StackFrame
        StackFrame compute_frame(TargetAddress address)
        {
            var method = Lookup (address);

            var iframe = inferior.GetCurrentFrame ();
            var registers = inferior.GetRegisters ();

            if ((method != null) && method.HasLineNumbers) {
                var source = method.LineNumberTable.Lookup (address);

                if (source != null)
                    return new StackFrame (
                        thread, FrameType.Normal, iframe.Address, iframe.StackPointer,
                        iframe.FrameAddress, registers, method, source);
                else
                    return new StackFrame (
                        thread, FrameType.Normal, iframe.Address, iframe.StackPointer,
                        iframe.FrameAddress, registers, method);
            } else {
                if (method != null)
                    return new StackFrame (
                        thread, FrameType.Normal, iframe.Address, iframe.StackPointer,
                        iframe.FrameAddress, registers, method);
                else {
                    Symbol name;
                    try {
                        name = SimpleLookup (address, false);
                    } catch {
                        name = null;
                    }
                    return new StackFrame (
                        thread, FrameType.Normal, iframe.Address, iframe.StackPointer,
                        iframe.FrameAddress, registers, thread.NativeLanguage,
                        name);
                }
            }
        }
SingleSteppingEngine