estoy depuración de algún otro programa de Qt y se encontró con el siguiente mensaje de error, que no entiendo:GDB mensaje de error: DW_OP_reg, DW_OP_piece y DW_OP_bit_piece
DWARF-2 expression error: DW_OP_reg operations must be used either alone or in
conjuction with DW_OP_piece or DW_OP_bit_piece.
No estoy seguro de lo que eso significa y Google no es de mucha ayuda.
Aquí está el contexto - sLocation
es un QString
que se declaró unas líneas antes. Sin embargo, se crea a partir de las funciones que fueron inline, así que no estoy seguro de su valor y estoy tratando de comprobar antes de ser anexado a:
(gdb) printqstring suffix
(QString)0xffffbd80: "sorted"
(gdb) next
1241 sLocation += suffix;
(gdb) printqstring sLocation
Can't take address of "sLocation" which isn't an lvalue.
(gdb) info local
sLocation = <error reading variable sLocation (DWARF-2 expression error:
DW_OP_reg operations must be used either alone or in conjuction with
DW_OP_piece or DW_OP_bit_piece.)>
Podría alguien por favor explicar lo que significa que el mensaje de error o lo que podría causar ¿eso?
Con la ayuda de alguien en IRC me fue capaz de usar 'readelf -wi/path/to/debug/lib' para identificar la entrada ofensiva:' bloque de 2 bytes: 53 6 (DW_OP_reg3; DW_OP_deref) .' Sin embargo, estoy usando gcc-4.4.4 que era etiqueta ged en r158895, así que creo que esto puede ser un error nuevo o relacionado. –
Veo el mismo error en 'GNU gdb (GDB) 7.4.1-debian' con' gcc versión 4.7.2 (Debian 4.7.2-5) '. – HAL