gdb脚本

一、简介

作为UNIX/Linux下使用广泛的调试器,gdb不仅提供了丰富的命令,还引入了对脚本的支持:一种是对已存在的脚本语言支持,比如python,用户可以直接书写python脚本,由gdb调用python解释器执行;另一种是命令脚本(command file),用户可以在脚本中书写gdb已经提供的或者自定义的gdb命令,再由gdb执行。

二、命令脚本

自定义命令格式如下

define commandName
    statement
    ......
end

自定义命令帮助文档格式如下

document commandName
     statement
     .......
end

提示:在gdb中执行脚本要使用source命令,例如:“source xxx.gdb”。

三、python脚本

四、脚本加载方式

gdb加载脚本的方式有

autoload方式            #需要把 脚本放置到/usr/share/gdb/auto-load/usr/lib/目录下

gdb -x script方式

gdb命令source 

script方式
时间: 2024-10-17 09:23:40

gdb脚本的相关文章

简化gdb脚本

每次调试都是先PS x|grep xxxx ,然后gdb attach pid ,太麻烦了!写了个烂脚本给自己减负--- 1 #!/bin/bash 2 3 #check num of argv 4 5 if [[ $# -ne 1 ]]; then 6 echo 'err: argv num!' 7 exit 8 fi 9 10 #deal string 11 var_argv=$1 12 var_name=`echo $var_argv| tr -d "/"` 13 var_pid

Linux gcc/g++下GDB调试及其调试脚本的使用

GDB调试及其调试脚本的使用返回脚本百事通一.GDB调试 1.1. GDB 概述 GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在 UNIX/Linux平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓“寸有所长,尺有所短”就是这个道理. 一般来说,GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 2.可让

GDB常用命令使用说明(一)

本文由霸气的菠萝原创,转载请注明出处:http://www.cnblogs.com/xsln/p/gdb_instructions1.html 全部关于gdb的文章索引请点这里 GDB(GNU Debugger)是在Unix以及类Unix系统下的调试工具.功能极其强大,几乎涵盖了你所需要的全部功能. GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的定制要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住. 3.当程序被停住时,可以检查此时你的程序中所

gdb调试运行时的程序小技巧

使用gdb调试运行时的程序小技巧 标签: 未分类 gdb pstack | 发表时间:2012-10-15 04:32 | 作者:士豪 分享到: 出处:http://rdc.taobao.com/blog/cs 原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢! 原文链接地址: 使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法: 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序 情景2:需要同时看几个变量的值或

gdb 调试PHP

PHP的代码包中提供了一个 .gdbinit 的gdb脚本文件,里面提供了20多个 gdb 的自定义命令,用于方便PHP的调试,下面举几个例子: 测试脚本a.php: <?php $a = "AAA"; $b = "BBB"; test("phpor"); function test($name) { $m = "MMM"; $n = "NNN"; sleep(1); echo$name; } 1 2

[转]使用gdb调试运行时的程序小技巧

原创文章,欢迎转载.转载请注明:转载自淘宝核心系统团队博客,谢谢!原文链接地址:使用gdb调试运行时的程序小技巧 下面介绍我调试时经常遇到的三种问题,如果大家也有类似的问题交流一下解决方法:情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序情景2:需要同时看几个变量的值或者批量查看多个core文件的堆栈信息怎么办情景3:遇到需要查看.队列.链表.树.堆等数据结构里的变量怎么办1. 情景1:在不中止程序服务的情况下,怎么调试正在运行时的程序我们在生产环境或者测试环境,会遇到一些异常,我们需

GDB技巧整理

https://blog.atime.me/note/gdb-tricks.html 整理常用的gdb技巧. 常用命令 常用的gdb命令... 启动gdb 直接运行 gdb --args prog arg1 arg2 运行gdb后使用run命令 gdb prog run arg1 arg2 attach到已运行的程序 gdb --pid ${PID_OF_PROG} ptype ptype用于显示Symbol的类型,示例源码为: struct ABC { int val; } int main(

GDB常用命令使用

GDB(GNU Debugger)是在Unix以及类Unix系统下的调试工具.功能极其强大,几乎涵盖了你所需要的全部功能. GDB主要帮忙你完成下面四个方面的功能: 1.启动你的程序,可以按照你的定制要求随心所欲的运行程序. 2.可让被调试的程序在你所指定的调置的断点处停住. 3.当程序被停住时,可以检查此时你的程序中所发生的事,以及内存状态等. 4.动态的改变你程序的执行环境. gdb使用总旨:help指令很强大!多用help!help里面总会有你需要的信息.如果你不知道如何使用help,请在

PHP程序z中xdebug工具简要使用方法

PHP程序的debug PHP程序的debug,无论是cli方式还是web方式,都需要使用第三方的debug工具.PHP5.6之前,本身自带的debug功能,仅限于日志输出. 推荐使用免费xdebug.Xdebug作为zend扩展存在.可以在php安装后,通过phpize单独被编译安装. xdebug的安装有几点注意 如果不知道下载什么xdebug版本,可以在这里,通过上传phpinfo信息,由系统给出建议:http://xdebug.org/wizard.php 安装后,php.ini中需要指