Можно ли передать аргументы скрипту Python, выполняемому GDB, через `source`? - PullRequest
0 голосов
/ 16 октября 2018

Например, я использую подпроцесс для запуска GDB и запуска скрипта python:

    proc = subprocess.Popen(
        f"gdb -p {pid} -ex 'source {command_file}'",
        shell=True,
    )

А у скрипта python есть что-то вроде:

import gdb

class MyBreakpoint (gdb.Breakpoint):
      def stop (self):
          inf_val = gdb.parse_and_eval("foo")
          if inf_val == 3:
              return True
          return False

MyBreakpoint("breakpoint_here")

Могу ли я определить "breakpoint_here""за пределами этого сценария, и передать его в качестве аргумента?Таким образом, я могу определить точку останова в первом сценарии (который запускает GDB) либо с помощью аргумента командной строки, либо каким-либо другим способом, и использовать ее в сценарии с источником.

До сих пор я пытался установить переменные GDBв подпроцессе (через set), но при запуске исходного сценария эти переменные не находятся в области видимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...