GDB简单使用

Posted stdpain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GDB简单使用相关的知识,希望对你有一定的参考价值。

GDB简单使用

通过gdb启动进程

gdb $bin

gdb中装载

file $bin

开始执行 (r)

run

给main函数传递的值

run $arg1 $arg2

显示源代码

list 
list $function_name
list $n

break 打断点

break $line #当前文件在某一行打一个断点
break $filename:$line #当前文件在某一行打一个断点
break $filename:$function_name

逐条执行

step (s)
next (n)
finish

打印堆栈

bt
where

打印变量

print (p)

线程相关

info thread # 列出所有线程
thread $thread_id # 切换到某个线程
set scheduler-locking on/off # 开启关闭调度

变量相关

info local # 列出所有的局部变量
set $var=$value # 给变量赋值

参考

https://wizardforcel.gitbooks.io/100-gdb-tips/content/index.html

以上是关于GDB简单使用的主要内容,如果未能解决你的问题,请参考以下文章

NASM 和 GDB 符号:“在符号文件中找不到任何代码段。”

GDB简单使用

使用GDB和GEF进行调试

有没有办法使用纯 gdb 脚本来测试我们是不是在断点上?

从ruby调用和控制gdb

Linux gdb调试工具应用详解