Gdbserver для снежного барса?
Итак, у меня есть этот источник GDB-1515. Я использую инструменты командной строки Xcode 3.2.6 на Snow Leopard (и этот источник GDB является источником включенного в них GDB).
Пытаюсь бежать (внутри /private/var/root/Downloads/gdb-1515/src/gdb/gdbserver
):
gcc -I. -I. -I./../regformats -I./../macosx -I./../../include -I../../bfd -I./../../bfd -I/private/var/root/Downloads/gdb-1515/src/bfd ./../macosx/macosx-nat.c
Сбой с:
./../macosx/macosx-nat.c:34:17: error: bfd.h: No such file or directory
./../macosx/macosx-nat.c:35:18: error: defs.h: No such file or directory
./../macosx/macosx-nat.c:36:21: error: gdbcore.h: No such file or directory
./../macosx/macosx-nat.c:37:20: error: serial.h: No such file or directory
./../macosx/macosx-nat.c:38:22: error: ser-base.h: No such file or directory
./../macosx/macosx-nat.c:39:22: error: ser-unix.h: No such file or directory
./../macosx/macosx-nat.c:40:22: error: inferior.h: No such file or directory
./../macosx/macosx-nat.c:41:23: error: objc-lang.h: No such file or directory
./../macosx/macosx-nat.c:42:21: error: infcall.h: No such file or directory
In file included from ./../macosx/macosx-nat-dyld.h:5,
И т.п.
Вещи нет bfd.h
где-нибудь внутри gdb-1515
папка.
find /private/var/root/Downloads/gdb-1515 -name bfd.h
Не возвращает вывод.
Я хочу позвонить attach_to_classic_process
(определяется внутри macosx/macosx-nat.c
) от gdbserver/macosx_low.c:476
вместо ptrace - вот почему я пытаюсь построить macosx/macosx-nat.c
от gdbserver
каталог.
В настоящее время на его месте используется ptrace, который не работает для процессов розетты.
Итак, я хочу отладить классический процесс (Rosetta), работающий на Snow Leopard, используя удаленное соединение с GDB. Это должно быть очевидной причиной того, что все приложения Rosetta все равно используют удаленное соединение для отладки. Кроме того, приложение GDB может успешно соединиться с упомянутыми приложениями PowerPC. Я пытаюсь скомпилировать gdbserver из этого яблочного источника, однако это Aids - кажется, что способ gdbserver, включенный в эти пакеты, в корне неверен, поскольку оригинальный gdb использует специальные функции для установления соединения с классическим процессом, в то время как gdbserver пытается использовать ptrace что, очевидно, не удается. Еще одна вещь, которая приходит мне в голову, это то, почему адский gdbserver должен быть настолько запутанным - почему он не взаимодействует напрямую с функциональным приложением командной строки gdb (может быть, своего рода оболочкой)?