2 votos

Fallo desconocido de Xcode Instruments

Estoy ejecutando instrumentos a través de Terminal:

instruments -t /Developer/Platforms/"iPhoneOS.platform/Developer/Library/Instruments/PlugIns/AutomationInstrument.bundle/Contents/Resources/Automation.tracetemplate ~/Library/Application\\\ Support/iPhone\\\ Simulator/$simulatorSDKVersion/Applications/<randomUUID>/MyApp.app -e UIASCRIPT someJSFile.js -e UIARESULTSPATH Logs

para varios scripts de prueba.

Pero sigo teniendo caídas esporádicas y esto está interfiriendo con el flujo de trabajo que he establecido.

¿Puede alguien decirme qué significa esto?

instruments[57679:1603] InstrumentsException : *** -[__NSCFString stringByAppendingString:]: nil argument
instruments[57679:1603] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[__NSCFString stringByAppendingString:]: nil argument'
*** First throw call stack:
(
    0   CoreFoundation                      0x00007fff90ed4f56 __exceptionPreprocess + 198
    1   libobjc.A.dylib                     0x00007fff90598d5e objc_exception_throw + 43
    2   CoreFoundation                      0x00007fff90ed4d8a +[NSException raise:format:arguments:] + 106
    3   CoreFoundation                      0x00007fff90ed4d14 +[NSException raise:format:] + 116
    4   Foundation                          0x00007fff939e9375 -[NSString stringByAppendingString:] + 91
    5   AutomationInstrument                0x000000010c5b6695 AutomationInstrument + 30357
    6   libdispatch.dylib                   0x00007fff8ad07a86 _dispatch_call_block_and_release + 18
    7   libdispatch.dylib                   0x00007fff8ad098f6 _dispatch_main_queue_callback_4CF + 308
    8   CoreFoundation                      0x00007fff90e69e7c __CFRunLoopRun + 1724
    9   CoreFoundation                      0x00007fff90e69486 CFRunLoopRunSpecific + 230
    10  Foundation                          0x00007fff939d7f7b -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 267
    11  Foundation                          0x00007fff93a5bb56 -[NSRunLoop(NSRunLoop) runUntilDate:] + 66
    12  instruments                         0x00000001091d03c1 _mh_execute_header + 13249
    13  instruments                         0x00000001091ce194 _mh_execute_header + 4500
)
terminate called throwing an exception

Gracias.

P.D. No estoy seguro de si este es el sitio adecuado para publicar esta pregunta.

3voto

Ajov Crowe Puntos 38

He visto esa Excepción antes cuando lanzo una primitiva Javascript y se reproduce de forma fiable y consistente con mi Instruments-4.5 (4523).

Sus comentarios afirman que esto no se reproduce de forma fiable. ¿Es posible que sus pruebas no tomen el mismo camino de forma fiable (y por lo tanto, no lancen de forma consistente), y por eso sólo se reproducen a veces? Antes de continuar, le sugiero que verifique que sus pruebas siguen el mismo camino de forma coherente.

Para verificar que sus pruebas lanzan una primitiva Javascript, siga estos pasos.

Encuentre un archivo de prueba Javascript que se reproduzca con su InstrumentsException.

Compruebe que la prueba de Javascript lanza una primitiva de Javascript, en lugar de un objeto de Javascript. Específicamente, usted quiere una línea que use "throw" pero no use "new" en la misma línea. La línea relevante debería ser así,

throw "Who's your daddy";   //Instruments throws an InstrumentsException with this.

no

throw new Error("Who's your daddy?");  //Instruments has no problems with this.

Compruebe que su instalación hace lanzar realmente esa InstrumentsException específica cuando lanzas una primitiva.

throw "Who's your daddy";

En este punto, tienes un sospechoso bastante bueno. Pero para estar más seguro, prueba a eliminar la línea sospechosa "tirar" o a sustituirla por otra cosa, sólo para ver si consigues pasar la prueba.

2voto

Jonas Klemming Puntos 1377

La respuesta obvia, aunque probablemente no útil, es que, al hacer algo con la automatización, Instruments se encontró con una cadena que faltaba al intentar añadirla a una cadena existente. Yo sospecharía que algo en el archivo .js es el catalizador para esto.

Aún así, lo archivaría como un error, ya que una mala entrada (si ese fuera el motivo) no debería causar un fallo.

1voto

Michael Baltaks Puntos 186

Acabo de experimentar cuelgues 100% reproducibles en Instruments (no muy productivos) que parecen haberse solucionado reconstruyendo el índice de spotlight ( sudo mdutil -E / ), así que puede que merezca la pena intentarlo para quien no consiga que Instruments funcione más que unos segundos.

0voto

Radek Puntos 258

FWIW, estoy recibiendo exactamente la misma traza tratando de ejecutar instrumentos a través del marco de calabacín (valores de puntero diferente, pero la traza es la misma). Puedo ejecutar el marco en la muestra CoreDataBooks w/o error, pero cuando trato de apuntar a mi aplicación de desarrollo, me sale este problema. Sospecho que es un desajuste de versión, ya que estoy ejecutando zucchini en Xcode 4.5.1 y la mayoría de la gente de zucchini no está allí todavía. Pero invocando zucchini obtiene las mismas dos líneas de error que comenzó con. Buena suerte, voy a actualizar si encuentro algo interesante.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X