Передача управления ptrace другому процессу

Насколько я понимаю, ваш вопрос состоит из двух частей:

  1. Как мне найти какие версии каждой библиотеки требуются?
  2. Как установить правильные версии?

Чтобы ответить (1): yum deplist $PACKAGE поможет показать, какие зависимости требуются.

[root@centos7 ~]# rpm -qi libopencv-dev
package libopencv-dev is not installed
[root@centos7 ~]# yum deplist libopencv-dev
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: muug.ca
 * extras: mirror.its.sfu.ca
 * updates: mirror.its.sfu.ca
[root@centos7 ~]# rpm -qi expect
package expect is not installed
[root@centos7 ~]# yum deplist expect
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: muug.ca
 * extras: mirror.its.sfu.ca
 * updates: mirror.its.sfu.ca
package: expect.x86_64 5.45-14.el7_1
  dependency: /bin/sh
   provider: bash.x86_64 4.2.46-20.el7_2
  dependency: libc.so.6(GLIBC_2.14)(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: libdl.so.2()(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: libm.so.6()(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: libm.so.6(GLIBC_2.2.5)(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: libtcl8.5.so()(64bit)
   provider: tcl.x86_64 1:8.5.13-8.el7
  dependency: libutil.so.1()(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: libutil.so.1(GLIBC_2.2.5)(64bit)
   provider: glibc.x86_64 2.17-106.el7_2.8
  dependency: rtld(GNU_HASH)
   provider: glibc.x86_64 2.17-106.el7_2.8
   provider: glibc.i686 2.17-106.el7_2.8
[root@centos7 ~]# 

Чтобы ответить на (2), ответы на этот вопрос содержат подробную информацию о том, «Как я могу указать yum установить определенную версию пакета X?»

1
20.04.2017, 03:21
1 ответ

Не могу комментировать, но так как поклевок пока нет:

Самый большой вопрос: зачем вообще переключаться на gdb, почему бы просто не продолжить с ptrace?

Сложной частью, безусловно, является передача управления gdb из ptrace. В частности, как остановить процесс, подключиться к GDB и возобновить отладку оттуда; когда ptrace отключается, дочерний процесс возобновляет выполнение, и, насколько я знаю, это неизбежно.

Может быть, есть другой способ сделать это вместо этого. В любом случае, зависит ли условие перехода к GDB от системных ресурсов, контролируемых A, или это условие является локальным для B?

И похоже, что ваши варианты «возможно ли это» и «если нет» просят сделать одно и то же, если я не ошибаюсь.

0
28.01.2020, 00:57

Теги

Похожие вопросы