File: my_scripted_platform.py

package info (click to toggle)
llvm-toolchain-19 1%3A19.1.7-3~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-proposed-updates
  • size: 1,998,492 kB
  • sloc: cpp: 6,951,680; ansic: 1,486,157; asm: 913,598; python: 232,024; f90: 80,126; objc: 75,281; lisp: 37,276; pascal: 16,990; sh: 10,009; ml: 5,058; perl: 4,724; awk: 3,523; makefile: 3,167; javascript: 2,504; xml: 892; fortran: 664; cs: 573
file content (43 lines) | stat: -rw-r--r-- 1,124 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import os

import lldb
from lldb.plugins.scripted_platform import ScriptedPlatform


class MyScriptedPlatform(ScriptedPlatform):
    def __init__(self, exe_ctx, args):
        self.processes = {}

        proc = {}
        proc["name"] = "a.out"
        proc["arch"] = "arm64-apple-macosx"
        proc["pid"] = 420
        proc["parent"] = 42
        proc["uid"] = 501
        proc["gid"] = 20
        self.processes[420] = proc

    def list_processes(self):
        return self.processes

    def get_process_info(self, pid):
        return self.processes[pid]

    def launch_process(self, launch_info):
        return lldb.SBError()

    def kill_process(self, pid):
        return lldb.SBError()


def __lldb_init_module(debugger, dict):
    if not "SKIP_SCRIPTED_PLATFORM_SELECT" in os.environ:
        debugger.HandleCommand(
            "platform select scripted-platform -C %s.%s"
            % (__name__, MyScriptedPlatform.__name__)
        )
    else:
        print(
            "Name of the class that will manage the scripted platform: '%s.%s'"
            % (__name__, MyScriptedPlatform.__name__)
        )