__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
# Copyright 2024 Free Software Foundation, Inc.

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

import gdb

from .sources import make_source
from .startup import in_gdb_thread
from .varref import BaseReference

# Map a block identifier to a scope object.
_id_to_scope = {}


# Arrange to clear the scope references when the inferior runs.
@in_gdb_thread
def clear(event):
    global _id_to_scope
    _id_to_scope = {}


gdb.events.cont.connect(clear)


# A scope that holds static and/or global variables.
class _Globals(BaseReference):
    def __init__(self, filename, var_list):
        super().__init__("Globals")
        self.filename = filename
        self.var_list = var_list

    def to_object(self):
        result = super().to_object()
        result["presentationHint"] = "globals"
        # How would we know?
        result["expensive"] = False
        result["namedVariables"] = self.child_count()
        if self.filename is not None:
            result["source"] = make_source(self.filename)
        return result

    def has_children(self):
        # This object won't even be created if there are no variables
        # to return.
        return True

    def child_count(self):
        return len(self.var_list)

    @in_gdb_thread
    def fetch_one_child(self, idx):
        sym = self.var_list[idx]
        return (sym.name, sym.value())


@in_gdb_thread
def get_global_scope(frame):
    """Given a frame decorator, return the corresponding global scope
    object.

    If the frame does not have a block, or if the CU does not have
    globals (that is, empty static and global blocks), return None."""
    inf_frame = frame.inferior_frame()
    # It's unfortunate that this API throws instead of returning None.
    try:
        block = inf_frame.block()
    except RuntimeError:
        return None

    global _id_to_scope
    block = block.static_block
    if block in _id_to_scope:
        return _id_to_scope[block]

    syms = []
    block_iter = block
    while block_iter is not None:
        syms += [sym for sym in block_iter if sym.is_variable and not sym.is_artificial]
        block_iter = block_iter.superblock

    if len(syms) == 0:
        return None

    result = _Globals(frame.filename(), syms)
    _id_to_scope[block] = result

    return result

Filemanager

Name Type Size Permission Actions
__init__.py File 3.49 KB 0644
breakpoint.py File 14.08 KB 0644
bt.py File 5.7 KB 0644
disassemble.py File 3.4 KB 0644
evaluate.py File 4.49 KB 0644
events.py File 8.38 KB 0644
frames.py File 5.03 KB 0644
globalvars.py File 2.81 KB 0644
io.py File 2.79 KB 0644
launch.py File 5.57 KB 0644
locations.py File 1.9 KB 0644
memory.py File 1.48 KB 0644
modules.py File 1.82 KB 0644
next.py File 3.32 KB 0644
pause.py File 882 B 0644
scopes.py File 5.64 KB 0644
server.py File 24.65 KB 0644
sources.py File 3.07 KB 0644
startup.py File 6.55 KB 0644
state.py File 951 B 0644
threads.py File 1.21 KB 0644
typecheck.py File 3.35 KB 0644
varref.py File 9.85 KB 0644
Filemanager