¿Cómo se muestra un valor de coma flotante, con decimales, en LLDB?
Frecuentes
Visto 3,238 veces
1
En gdb, puedo usar el comando de impresión para mostrar una variable de punto flotante o doble, y obtengo un valor con varios lugares decimales. El comando equivalente en LLDB, expr, parece redondear/truncar el valor y solo mostrar la parte del número entero. La documentación de la cadena de formato para LLDB es más que un poco obtusa. ¿Cómo visualizo una variable local de punto flotante de doble precisión o precisión simple, incluida la parte decimal?
si foo = 3.1415926, entonces
expr foo
pantallas
fo = 3
No muy útil.
1 Respuestas
6
Puede hacer esto con el comando expr. Es engorroso, pero funciona:
(lldb) expr (int) printf("%f \n",foo)
3.14159
(lldb)
Respondido el 25 de junio de 12 a las 13:06
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas xcode lldb or haz tu propia pregunta.
Gracias. Eso lo resuelve. ¿Por qué no lo hace "expr foo"? La expresión gdb "p foo" me da el decimal, pero "expr foo" no. Parece que el formato de visualización predeterminado para una expresión de coma flotante debería mostrar el valor de coma flotante. Además, ¿conoce alguna forma de cambiar el formato de visualización de una expresión LLDB, sin tener que recurrir a invocar printf? ¿Algo como "expr %f foo"? - duncan c