Исполняемый файл под GDB вызывает другой встроенный PythonLinux

Ответить
Anonymous
 Исполняемый файл под GDB вызывает другой встроенный Python

Сообщение Anonymous »

У меня есть код, встраивающий Python. Этот встроенный Python использует NumPy, и, следовательно, мне нужно явно загрузить libpython, чтобы NumPy работал.
Ведущий код написан на C++ (тесты в Google Test). Где-то есть ошибка, и я пытаюсь использовать gdb для отладки. Однако происходит что-то странное, поскольку встроенные версии различаются: когда я просто запускаю исполняемый файл и когда я запускаю исполняемый файл под GDB.
Я нахожу путь к libpython путем создания экземпляра модуля sysconfig в инициализированном встроенном Python, а затем с помощью sysconfig.get_config_var("LIBDIR").
Я записываю найденный путь в libpython< /code> затем я просто запускаю исполняемый файл:

Код: Выделить всё

Path to libpython is /home/dima/.conda/envs/um02-open-interfaces/lib
Когда я запускаю тот же исполняемый файл под GDB:

Код: Выделить всё

Path to libpython is /home/linuxbrew/.linuxbrew/opt/python@3.11/lib
Как запретить GDB изменять среду?

Подробнее здесь: https://stackoverflow.com/questions/782 ... ded-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»