| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Linux学习日记7——GDB调试 -> 正文阅读 |
|
[系统运维]Linux学习日记7——GDB调试 |
目录 一、C程序代码
二、GDB调试2.1 编译文件
2.2 进入GDB调试
2.3 GDB中打印源码
2.4 设置断点
2.5?运行程序
2.6 继续执行
2.7 查看变量值
2.8 继续执行到下一个断点
2.9 退出
三、gdb调试其他命令3.1 段错误调试方法修改代码 ?编译运行发现报错了: ?编译包含调试文件的可执行文件,进入 gdb 调试 ?直接跑程序 run,发现在 56 行停下来了,找到出错的位置 3.2?finishfinish:结束当前函数调用(回到调用该函数的位置往下执行) 3.3 带参数的 main 函数?修改代码: ?运行程序: gdb 中添加 main 函数的参数: 第一种方法:
第二种方法:
3.4 查看断点信息
设置条件断点,并查看 3.5?查看变量类型
栈帧:随着函数调用而在stack上开辟的一片内存空间。用于存放函数调用时产生的局部变量和临时值。 ?在 init_arr 中有的参数才能被 ptype 访问 3.6 函数的栈帧操作backtrace 简称?bt?查看函数的调用的栈帧和层级关系 frame 简称 f 切换函数的栈帧 ?还能使用 ptype 0 切换回来 3.7 display 设置观察变量设置一个 如果想设置两个的话,继续使用:display 变量名 取消设置跟踪变量的话可以使用 undisplay 编号 3.8?在 gdb 中打开新的调试代码file?gdbtest 四、gdb常见错误说明4.1 错误一(gdb) list 没有符号表被读取。请使用 “file” 命令。 解决方法 需要在后面加上 -g 编译一下 gcc gdbtest.c -o?gdbtest -g? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 0:43:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |