2009-02-26 8 views
28

¿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 ensamblado están disponibles)Cambiando al ensamblaje en gdb

Respuesta

20

Hay una manera de desmontar una función o una determinada sección de código, ¿eso es lo que está buscando?

El comando para hacerlo sería disassemble <function name> o una ubicación de memoria.

¿Esto es a lo que 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. 
4

El uso del comando disas probablemente hará lo que usted desee.

De acuerdo con la ayuda interna, el comando DISA realiza 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. 
10

En la nueva versión 7.0 del BGF, el comando disassemble puede tomar un nuevo argumento /m, que hace que emita la fuente y el desmontaje mezclado.

55

Puede cambiar al diseño asm en GDB:

(gdb) layout asm 

Ver here para más información.

Cuestiones relacionadas