Existe-t-il un moyen de basculer vers Assembly lors du débogage d'un programme C ou C++ dans gdb? (Étant donné que tous les fichiers source et leurs fichiers d'assemblage correspondants sont disponibles)
Il existe un moyen de démonter une fonction ou une certaine section de code, c'est ce que vous recherchez?
La commande pour ce faire serait disassemble <function name>
ou un emplacement mémoire.
Est-ce à cela que vous faites référence?
(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.
Vous pouvez passer à la mise en page asm dans gdb:
(gdb) layout asm
Voir ici pour plus d'informations.
Dans la nouvelle version 7.0 de gdb, la commande disassemble
peut prendre un nouvel argument /m
ce qui lui fait émettre une source et un démontage mixtes.
L'utilisation de la commande disas fera probablement ce que vous voulez.
Selon l'aide interne, la commande disas effectue les opérations suivantes:
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.
Cette question a également été posée dans le groupe de recherche de cgdb https://groups.google.com/forum/?hl=de&fromgroups=#!topic/cgdb-users/E-jZCJiBAQQ
Pas encore de réponse sur les raisons pour lesquelles la mise en page ASM ne fonctionne pas
Edit: Ils ont posté récemment et ont dit que c'était une fonctionnalité qui n'était pas encore implémentée. (vérifiez le lien ci-dessus)