gdb流程控制(例: 循环打印数组)
发布时间:2020-12-14 00:27:59 所属栏目:Linux 来源:网络整理
导读:参考:https://blog.csdn.net/justlinux2010/article/details/9453151 循环/条件 在gdb的脚本中循环遍历整个哈希表,并且加上判断条件来进行统计,然后输出结果。导入gdb脚本的方式很简单,gdb中输入“source 脚本名”。 脚本如下: set $i=32707set $j=0whi
参考:https://blog.csdn.net/justlinux2010/article/details/9453151 循环/条件在gdb的脚本中循环遍历整个哈希表,并且加上判断条件来进行统计,然后输出结果。导入gdb脚本的方式很简单,gdb中输入“source 脚本名”。 脚本如下: set $i=32707 set $j=0 while ($i) if (fcluster->hash_table[$i].addr == 0x380aa8c0) set $j++ end set $i-- end p $j 前两行的set是定义两个变量,注意一定要加上‘$‘符号,否则会认为是被调试的程序中的变量。fcluster->hash_table是我的哈希表。gdb脚本中while、if语句块要以end结尾。脚本中的判断语句和C语言中的语法一样。最后输出统计结果。 上面的脚本也可以直接在gdb命令窗口输入。 printfprint只能打印一个变量或表达式,如果需要指定格式打印,可以使用printf,使用方法和C语言相同。 (gdb) help printf printf "printf format string",arg1,arg2,arg3,...,argn This is useful for formatted output in user-defined commands. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- [Functional Programming] liftA2 and converge
- linux – 在大型文件系统上运行fsck的内存不足
- linux – 将3个1G网卡绑定成一个3G网卡吗?
- linux – Vagrant:权限被拒绝(publickey)
- PDF中需要Arial字体(BIRT pdf渲染器,Linux)
- embedded – 在什么条件下/ sys / kernel / debug / gpio是
- nginx配置https
- linux – 如何在Debian Wheezy中安装Arial字体或任何真实字
- OpenVAS扫描无法正常工作 – Kali linux
- linux – 如何在vim中递归使用模式打开文件