assembly - Cambiando al ensamblado en gdb
(5)
El uso del comando disas probablemente hará lo que quieras.
De acuerdo con la ayuda interna, el comando disas hace lo siguiente:
Disassemble a specified section of memory.
Default is the function surrounding the pc of the selected frame.
With a single argument, the function surrounding that address is dumped.
Two arguments are taken as a range of memory to dump.
¿Hay alguna manera de cambiar al ensamblaje al depurar un programa C o C ++ en gdb? (Dado que todos los archivos fuente y sus correspondientes archivos de ensamblaje están disponibles)
En la nueva versión de gdb 7.0, el comando de disassemble
puede tomar un nuevo argumento /m
que lo hace emitir origen mixto y desensamblaje.
Esa pregunta también se formuló en el grupo de google de cgdb https://groups.google.com/forum/?hl=de&fromgroups=#!topic/cgdb-users/E-jZCJiBAQQ
Aún no hay respuesta sobre por qué el diseño asm no funciona
Editar: Publicaron recientemente y dijeron que es una característica que todavía no se ha implementado. (verifique el enlace de arriba)
Hay una manera de desmontar una función o una determinada sección de código, ¿es eso lo que buscas?
El comando para hacerlo sería disassemble <function name>
o una ubicación de memoria.
¿A esto te refieres?
(gdb) help disassemble
Disassemble a specified section of memory.
Default is the function surrounding the pc of the selected frame.
With a single argument, the function surrounding that address is dumped.
Two arguments are taken as a range of memory to dump.