File: my_scripted_platform.py

package info (click to toggle)
llvm-toolchain-16 1%3A16.0.6-15~deb12u1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 1,634,792 kB
  • sloc: cpp: 6,179,261; ansic: 1,216,205; asm: 741,319; python: 196,614; objc: 75,325; f90: 49,640; lisp: 32,396; pascal: 12,286; sh: 9,394; perl: 7,442; ml: 5,494; awk: 3,523; makefile: 2,723; javascript: 1,206; xml: 886; fortran: 581; cs: 573
file content (38 lines) | stat: -rw-r--r-- 1,084 bytes parent folder | download | duplicates (2)
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
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__))