如何解决轻松检索gdb中的标签
我在asm中将数组定义为:
arr: .word 1,3,9,27
现在我在gdb中,当前用于查找和打印该数组的方式正在寻找看起来可能包含数组地址的指令,例如:
0x00000000004000dc ? movzwq 0x400078(,%rdi,2),%r12
然后在该地址中复制粘贴(知道元素大小)并执行以下操作:
>>> x/4hd 0x400078
0x400078 <arr>: 1 3 9 27
这是一种查找和打印标签的繁琐方法,通常需要我按下si
十到二十次才能找到它。有没有更好的方法来查找和打印标签及其内容?
此外,还有一种方法可以查看程序/函数中定义的所有标签,例如:
0x400078 arr
0x450090 my_other_var
更新:我的代码是:
# file.s
myarray: .word 1,27
myvar: .long 927
.globl _start
_start:
mov $7,%ebx
mov $1,%eax
int $0x80
编译为:
$ as file.s -o file.o && ld file.o -o file
$ gdb file --ex 'b _start' --ex 'r' --ex 'set confirm off'
使用gdb版本:
>>> show version
GNU gdb (Ubuntu 8.1-0ubuntu3.2) 8.1.0.20180409-git
Copyright (C) 2018 Free Software Foundation,Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。