GDB ausente no OS X v10.9 (Mavericks)

108

Usei o GDB no OS X v10.9 (Mavericks) e ele não está lá. Para onde foi?

# /usr/lib/gdb
-bash: /usr/bin/gdb: No such file or directory
# gdb
-bash: gdb: command not found

Eu também lancei o Xcode 5.0.1:

Preferências> Downloads

..e não há mais ferramentas de linha de comando disponíveis - ffs!

eu vou
fonte
As ferramentas de linha de comando estão disponíveis em developer.apple.com/downloads/… Para chegar lá, de XCode vá para XCode> Open Developer Tool> More Developer Tools ...
Parker
EDIT: Não importa, já que o GDB também está ausente das ferramentas de linha de comando ...
Parker
3
Desde que fiz esta pergunta, muitas pessoas me perguntaram quais opções ./configure eu usei para fazer isso funcionar:./configure --prefix=/usr/local --enable-targets=x86_64-apple-darwin13.0.0 --enable-64-bit-bfd --disable-werror --build=x86_64-apple-darwin13.0.0 --host=x86_64-apple-darwin13.0.0 --target=x86_64-apple-darwin13.0.0
Estou em

Respostas:

142

gdbfoi substituído por lldbe não é mais compatível. gcce llvm-gcctambém sumiram, substituídos por clang.

Catfish_Man
fonte
2
existe uma maneira de usar o gdb embora ainda?
l'L'l
Não que eu saiba. Você poderia construí-lo sozinho (digamos, via homebrew), mas não sei se isso funcionaria bem.
Catfish_Man
Olá Sr. Catfish, comecei a trabalhar. É apenas necessário compilá-lo a partir do código-fonte com o comando correto ./configure :) thx!
l'L'l
2
Também estou curioso sobre o ./configure. Eu construí usando as configurações padrão e tudo funciona, exceto para anexar a processos ao vivo. Os símbolos estão errados e ele trava quando pressiono C Ctrl-C.
RawwrBag
1
Eu instalei via brew e continuo recebendo "_____: não está no formato executável: Formato de arquivo não reconhecido" quando tento carregar um executável. Alguém pode comentar sobre como eles tiveram uma instalação bem-sucedida?
Parker
38

Você pode instalá-lo no Mavericks com o Homebrew.

brew install homebrew/dupes/gdb
Jakub Głazik
fonte
brew install dupxcontinua me dizendochecking for gdb... no
lajarre
1
Isso não funcionou para mim no Maverics. O Homebrew deu-me um erro e parece haver alguns problemas em aberto com a instalação.
Dan Bradbury
Isso quase funcionou para mim, então reclamei que o GDB não estava devidamente assinado (quando na verdade tentei depurar algo com ele).
mpontillo de
1
FYI: Isso funcionou para mim. Acho que diferentes pessoas estão tendo diferentes níveis de dificuldade com isso. Se você puder instalá-lo, certifique-se de olhar aqui para instruções de assinatura.
Neil Traft
2
Também recebi o erro de assinatura, mas foi resolvido quando executei sudo gdb target.
Vlad Lifliand
9

Este comando Homebrew funciona para instalar ferramentas GDB no Mavericks:

brew install https://raw.github.com/Homebrew/homebrew-dupes/master/gdb.rb
xin
fonte
@ Sławosz brew install gdbparece estar funcionando agora (no Mavericks).
amertkara
3

Obrigado, I'L'I. Usei suas opções ./configure e funcionei perfeitamente. O próximo passo é dizer ao OS X que permitimos que o GDB depure. Isso é feito criando um certificado através do keychain, exporte-o e sudo codesing -s gdb-cert /route/to/gdb, em seguida , dê a credencial e pronto.

Veja as instruções detalhadas do wiki GDB

user1008139
fonte
2

Compilei o GDB a partir da fonte no Maverics.

Eu alterei o makefile (após ./configure) para suprimir alguns erros que deveriam ter sido avisos ... (adicionado o -Wno-string-plus-int)

Line 385:
CFLAGS = -g -O2 -Wno-string-plus-int

Line 388:
CXXFLAGS = -g -O2 -Wno-string-plus-int

Não sei se ambos são necessários.

Mas

Acontece que a versão padrão não suporta depuração de arquivos .app (conforme necessário para aplicativos Lazarus usando a interface Carbon)

Se você quiser fazer isso sozinho, siga este link: https://sourceware.org/gdb/wiki/BuildingOnDarwin

Ben
fonte
Isso provavelmente não funcionará. Eu tentei no passado e o gdb produzido não conseguia depurar aplicativos.
jww
Consegui compilar a partir do código-fonte também no Mavericks, depois de definir CFLAGS = "- I / usr / local / include", então ele pegou libintl.h. Não se esqueça de assinar o código, ou o gdb não funcionará. Consulte ntraft.com/installing-gdb-on-os-x-mavericks para obter informações sobre isso. O resultado final de tudo isso foi uma depuração bem-sucedida no NetBeans (meu principal motivo para obter o GDB).
Pete855217 de
1

No meu caso, comecei a trabalhar no OS X com as seguintes etapas:

  1. Configure o Homebrew GDB exatamente como descrito aqui http://wiki.lazarus.freepascal.org/GDB_on_OS_X_Mavericks_and_Xcode_5

  2. Em seguida, defina a depuração para Dwarf2 : Projeto -> Opções do projeto .. Insira a descrição da imagem aqui

Se Run / construção desliga em seguida, reiniciar o computador (taskgated ou algum outro certificado de processo provavelmente não autenticado), configurações de depuração Voltar para "(-g) automáticas" de compilação e execução (aparece diálogo de autenticação e login), em seguida, altere a depuração configurações para "Dwarf2" e deve compilar novamente

Tente sempre parar o GDB quando ele travar após uma operação de execução para evitar essa falha de autenticação.

Evalds Urtans
fonte
0

Você pode instalar www.macports.org e instalar o GDB. No entanto, você terá que esperar pelo instalador do MacPorts para Mavericks, pois no momento em que este artigo foi escrito, ele ainda não foi lançado.

antonae
fonte
0

Quando olhei, o MacPorts ainda não estava disponível para o Mavericks, mas agora está!

Fink ainda não está.

Mas o GDB padrão ainda não suporta a depuração de arquivos .app.

Ben
fonte
-1

Execute para instalar ferramentas de linha de comando:

xcode-select --install
user2922471
fonte
4
CLT para OS X 10.9 Mavericks não tem GDB, esse é o problema que o OP está tentando resolver.
Parker
-1

Os utilitários de linha de comando não estão incluídos no novo Xcode, mas você pode obtê-los seguindo estas instruções. (O comentário de seleção do Xcode acima não funcionou para mim.)

Abra o Xcode

No item de menu do aplicativo "Xcode", selecione Abrir ferramenta de desenvolvedorMais ferramentas de desenvolvedor ...

Isso leva você a um site com vários softwares. Vá em frente, baixe e instale "Ferramentas de linha de comando (OS X Mavericks) para Xcode - Final de outubro de 2013".

(Crédito para Jore https://discussions.apple.com/message/23513040#23513040 )

George
fonte
7
CLT não tem GDB para 10,9
Parker
-4

Instale o Mac OS X v10.8 (Mountain Lion) com Xcode 4.6 em uma máquina virtual e divirta-se)))

Eu uso o VMware Fusion, mas você pode experimentar o VirtualBox gratuito . Você pode obter versões antigas do MacOS na AppStore e versões antigas do Xcode no site do desenvolvedor da Apple.

Alexey Lobanov
fonte