2012-04-19 12 views
12

He estado probando Emacs 24 (pretest 24.0.95.1) en OS X Lion durante los últimos días, pero estoy teniendo problemas con la nueva interfaz gdb/MI.Emacs 24 y GDB 6.3 en Mac OS X

Con GDB 6.3 que viene con Xcode, pero la interfaz gdb/MI no parece cargar en absoluto. Parece que intenta iniciar el modo GDB GUD, pero en realidad no funcionan los comandos.

También intenté instalar GDB-7.4 a través de Homebrew. Eso me pone parcialmente allí. aparece la interfaz gdb-many-windows, pero el indicador gdb nunca llega. Emacs solo se sienta comiendo 100% de CPU, pero no deja de responder. Todavía puedo abrir archivos, etc. Simplemente no puedo hacer nada con GDB.

¿Alguien más ha tenido problemas similares? ¿Pudo resolverlos? De ser así, ¿cómo?


Editar: 2012-06-10: Acabo de intentar de nuevo con el recién lanzado Emacs 24.1. El comportamiento con GDB 6.3 (a través de Xcode) sigue siendo el mismo. GDB-7.4 es un poco peor porque arranca GDB, y emacs usa hasta 100% de CPU pero ahora no puedo hacer nada más. Emacs Si se congela:/

+0

Esto podría ser un problema de titularidad en lugar de un problema de signo de código. Estos son los derechos [usos de lLDB de LLVM] (http://github.com/llvm-mirror/lldb/blob/master/tools/debugserver/source/debugserver-entitlements.plist). – jww

Respuesta

7

yo tratamos de utilizar el modo de modificar la certificación por parte de Keychain.app

http://sourceware.org/gdb/wiki/BuildingOnDarwin

Todavía se queja de certificación ..

GNU gdb (GDB) 7.4 
Copyright (C) 2012 Free Software Foundation, Inc. 
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This is free software: you are free to change and redistribute it. 
There is NO WARRANTY, to the extent permitted by law. Type "show copying" 
and "show warranty" for details. 
This GDB was configured as "x86_64-apple-darwin11.3.0". 
For bug reporting instructions, please see: 
<http://www.gnu.org/software/gdb/bugs/>... 
Reading symbols from /Users/hanfei/Documents/mis/mis...Reading symbols from /Users/hanfei/Documents/mis/mis.dSYM/Contents/Resources/DWARF/mis...done. 
done. 
(gdb) r 
Starting program: /Users/hanfei/Documents/mis/mis 
Unable to find Mach task port for process-id 52327: (os/kern) failure (0x5). 
(please check gdb is codesigned - see taskgated(8)) 

Entonces me trataron:

$ sudo chgrp procmod /yourpath/gdb 
$ sudo chmod g+s /yourpath/gdb 

Y es w orks para mí ahora.

+0

Gracias, como tú, el certificado no lo hizo por mí. ¡Bien hecho! –

+0

¡Genial!El chgrp y chmod funcionó. Ahora puedo usar GDB en 10.6.8 – AGS

+0

La solución mencionó que el enlace de sourceware.org funcionó para mí. Gracias. –

4

Estoy usando Emacs 24.1 que construí en Mac OSX Lion (10.7.4) de las fuentes en Savannah git. La compilación se basa en la etiqueta emacs-24.1 y tiene un parche para el soporte Lion Fullscreen aplicado.

Gdb 6.3 funciona de forma extraña para mí. Se queja del indicador -i = mi y sigue imprimiendo una marca de tiempo extraña antes de cada símbolo del sistema, empujando el (gdb) hacia la derecha y haciéndolo realmente difícil de usar. Las terminaciones no funcionan tan bien y podría haber otras cosas rotas que no me molesté en investigar mucho más.

Utilizando el GDB 7.4 de homebrew/dupes grifo, al intentar ejecutar gdb de Emacs tiene el mismo error descrito en el enlace que Firegun mencionó, http://sourceware.org/gdb/wiki/BuildingOnDarwin:

Starting program: /x/y/foo 
Unable to find Mach task port for process-id 28885: (os/kern) failure (0x5). 
(please check gdb is codesigned - see taskgated(8)) 

Sin embargo, he seguido todos los pasos descritos en allí para crear un certificado y firmar gdb y ahora funciona bien. Comienzo gdb usando M-x gdb y luego cargo la aplicación que quiero depurar usando el comando file. Cuando escribo run, solicito mi contraseña para permitir que Developer Tools tome el control de otro proceso. Después de dar mi contraseña, funciona bien. Se detiene en puntos de interrupción, sigue el código con flechas en el margen, y si va a Gud> GDB-MI> Mostrar otras ventanas, muestra las otras ventanas con información.