2012-04-16 21 views
19

estoy usando xCode 4.3.1 y tan pronto quiero usar LLDB, casi no hay nada de información de depuración, pero obtiene el siguiente resultado en cambio, po-ción de una simple propiedad NSMutableDictionary:LLDB error extraño

(lldb) po _keywordCache 
error: instance method 'delegate' has incompatible result types in different translation units ('objc_object *' vs. 'id') 
error: instance method 'delegate' has incompatible result types in different translation units ('objc_object *' vs. 'id') 
note: instance method 'delegate' also declared here 
note: declared here with type 'id' 
note: instance method 'delegate' also declared here 
note: declared here with type 'id' 
error: 2 errors parsing expression 

Al cambiar a gdb siempre se obtienen resultados adecuados.
¿Alguien una idea?

+4

Aún no hay sugerencias, pero solo quiero agregar que tengo el mismo problema. – danielpunkass

+1

Actualmente estoy viendo esto con Xcode 5.1.1 cuando escribo 'expr tableView.translatesAutoresizingMaskIntoConstraints' en el depurador: dice' error: método de instancia 'undoManager' tiene tipos de resultados incompatibles ... ' – Drux

Respuesta

8

El origen del problema en mi caso era que la propiedad en cuestión aquí, "delegar" se declara como un tipo sutilmente diferente en la variable de instancia y la declaración de propiedad. En mi caso, el tipo de variable de instancia era id y la declaración de propiedad era id<SomeProtocol>.

Voy a informar esto como un error a Apple, ya que no debería causar la falla al inspeccionar las variables. La solución es asegurarse de que la variable de instancia y la declaración de propiedad describan "delegar" exactamente del mismo tipo. ¡Espero que esto ayude!

+0

¿Tiene un radar abierto I puede engañar? Esto también me ha estado molestando. –

+0

Hola Ben: terminé no informando esto porque en mis pruebas con las últimas herramientas en Mountain Lion, parece que se corrigió. – danielpunkass

+0

Genial, gracias por dar seguimiento. –

-1

También tuve ese error, para mí no tenía nada de malo en el código. Todo lo que hice fue hacer clic en el botón a la derecha del botón "Alternar estado de punto de interrupción global" en la consola.

It is the blue arrow shaped button.
Es el botón azul con forma de flecha.

+0

¿Dónde está ese botón? Puede proporcionar una captura de pantalla ? – abbood

+0

Se agregó una captura de pantalla. Sin embargo, no funcionó para mí. – Mundi

+0

Ese es un botón para permitir puntos de interrupción. Está completamente separado del problema. –

1

Sé que es tarde, pero me encontré con esto en Xcode 6, necesitaba hacer una Carpeta de compilación limpia (opción de mantener presionado mientras seleccionaba limpiar).

0

Tengo el mismo problema en Xcode 7.3 (7D1002) desde ayer. Antes funcionó bien durante semanas. En mi caso ahora incluso un simple "po someString" no funciona:
error: el método de instancia 'URLEncodedString' tiene tipos de resultados incompatibles en diferentes unidades de traducción ('void *' vs. 'NSString *')
error: instancia método 'URLDecodedString' tiene tipos de resultados incompatibles en diferentes unidades de traducción ('void *' vs 'NSString *')
nota: método de instancia 'URLEncodedString también declarado aquí
nota: método de instancia' URLDecodedString también declaró aquí
error: 2 errores al analizar la expresión

Cosas que probé:

  • dejar de fumar y relanzar Xcode7 y el simulador (ambas eran funcionando desde varios días sin relanzamiento)
  • Xcode: Producto-> Limpiar y (manteniendo pulsada la tecla opción) carpeta de compilación limpia
  • Elimina ~/Library/preferencias/com.apple.dt.Xcode.plist
  • Elimina ~/Library/desarrollador/Xcode/DerivedData/*
  • Elimina ~/Library/desarrollador/Xcode/iOS DeviceSupport/*
  • instalar la última OS X Actualización de El Capitán 10.11.4

pero todo eso no ayudó. Todavía no se pueden p ni po strings en el depurador.

Todavía tengo un viejo Xcode 6 en mi Mac (renombrado y guardado antes de la instalación de Xcode 7, luego vuelva a colocarlo en/Aplicaciones). Y eso todavía funciona, puedo ingresar "po someString" en el depurador e imprime la cadena en el registro de depuración.Pero Xcode 7 Indiferente ...

he encontrado una solución para las variables locales (a pesar de que este problema es diferente) aquí:
http://lists.apple.com/archives/xcode-users/2014/May/msg00088.html
Ctrl + clic en variable en la lista de variables locales y seleccione “Descripción de impresión”
La descripción de la impresión de someString:
ipad

que ayuda un poco pero no puede imprimir comandos más complejos.