gdb
__Chen_Sheng__
把复杂的事物简单化,才是本事。
展开
-
如何打开GDB的不同源码模式/界面
GDB不同模式:打开字符GUI界面:ctrl + x 和 ctrl + a 或者是 layout src , 切换回去也是ctrl + x +a打开此函数的汇编界面:layout asm两个都打开:layout split打开寄存器窗口:layout regs原创 2021-01-15 18:30:59 · 615 阅读 · 0 评论 -
如何使用GDB调试有参数的程序
GDB调试有参数的程序进入gdb后:file ./bin/kepler_tunnel:加载二进制程序set args config/pbt.xml 200:设置程序参数 config/pbt.xml和200b main:打断点r :运行键入:ctrl+X和ctrl+A,进入GUI程序字符界面。...原创 2021-01-15 18:19:23 · 600 阅读 · 0 评论 -
给GDB增加调试信息,即添加GCC调试参数
GCC调试参数gcc参数有:-g,-g3,-ggdb,-ggdb3编译加上-g的时候,程序会是处理debug的状态,运行时候会记录更多的debug信息,从而占用内存更大的空间。g,产生的debug信息是OS产生的,GDB可以合理封装使用。g3,只是一个调试级别,级别越高产生的额外debug信息会越多,但是内存占用率会越大,3这个级别可以调试宏。ggdb产生的debug信息更倾向于给GDB使用的。...原创 2021-01-15 18:15:48 · 1770 阅读 · 0 评论 -
让挂在后台的GDB程序继续运行
不小心ctrl+z退出程序了,如何让gdb进程继续运行键入:ctrl+z (其实是把进程挂到后台,暂停运行而已,并不是ctrl+c发送SIGINT中断信号,让进程退出。)键入:jobs (查看挂在后台的作业有哪些)fg %1:把作业ID为1的进程放到前台运行,即在命令行终端运行。bg %2:把作业ID为2的停止进程放到后台继续运行,即成为守护进程deamon。...原创 2021-01-15 18:13:01 · 1805 阅读 · 0 评论 -
GDB为什么查看不了源码?
GDB为什么查看不了源码?说No symbol “xxx” in current context?可能有以下原因:原因一:可能GCC版本跟GDB版本相差太大,以至于GCC产生的DWARF4格式的debug文件,GDB无法解析.解决方法:查看GCC和GDB版本号:- gcc --version- gdb --version- 兼容版本号:GCC = 4.8.x, GDB = 7.6.x,可以让GDB查看到GCC生成的相应的dwarf格式的文件。原因二:GCC编译的时候并没有加上"-原创 2020-12-25 13:45:47 · 1090 阅读 · 0 评论