tengo un char buffer[100]
y estoy tratando de usar gdb para leer los contenidos en varias etapas del tiempo de ejecución.gdb print no imprimirá algo legible desde mi matriz de caracteres
yo uso p buffer
y me sale
"/*\000\000\000\000\000\000????X?o\000\025\202\004\b", '\0' <repeats 12 times>, ".N=?", '\0' <repeats 24 times>, "`\203\004\b\000\000\000\000L\227\004\bX????\202\004\b?\017\204\000\f?\203\000\210???i\205\004\b??r"
¿Cómo llego p
para convertirlo en un formato legible ???
Asegúrese de que haya datos imprimibles (legibles) en el búfer? GDB imprime lo que está presente, no lo que le gustaría estar allí. En este momento, 'strcmp (buffer,"/* ") == 0'. –
hmm, así que definitivamente soy nuevo en esto, y como comentario adicional, ¿por qué strcmp (buffer, "/ *") == 0 es importante? Obviamente, hay mucho más en este buffer que solo "/ *" así que me parece obvio que strcmp devolvería 0 ... – sepiroth
Es el "\ 000" que representa el "nulo" que marca el final de la cadena C . Así que su búfer, visto como sosteniendo una cadena C, realmente contiene la cadena "/ *" (eso es lo que Jonathan Leffler está obteniendo con su ecuación 'strcmp'; tenga en cuenta que' strcmp' devuelve 0 cuando las cadenas son las mismas). –