0
点赞
收藏
分享

微信扫一扫

Linux GDB C/C++调试基础与提升

小禹说财 2023-08-15 阅读 23

点击下载:Linux GDB C/C++调试基础与提升 提取码: vhtd

一、gdb的概述 gdb是GNU开源组织发布的一个强大的UNIX下的程序调试工具。

二、gdb的使用场景 启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。 可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式) 当程序被停住时,可以检查此时你的程序中所发生的事。 动态的改变你程序的执行环境。

Debug模式:

代码在编译时会显示出完整的调试信息以定位问题,编译期间可以查看程序的运行时信息,且编译期间不考虑对代码的执行进行优化。生成的可执行文件执行速度偏慢。

Release模式: 代码在编译时不会显示调试信息,并且编译期间会优化代码的执行。生成的可执行文件执行速度较快。 GDB主要在Debug模式下进行使用。

对照每个线程的上下文堆栈,搞清楚其逻辑,并结合主线程,看看每个线程是在何时启动的,端口在何时启动侦听的,等等。做完这一步,关于 redis-server 的框架也基本清楚了。

接着我们可以选择一个自己感兴趣的命令,搞清楚 redis-cli 与 redis-server 命令的交互流程。 最后,如果对 redis-server 源码中各种数据结构和细节感兴趣,我们可以进一步深入到具体的代码细节。 当然,不熟悉 GDB 的读者看笔者这段操作流程比较困难,这是正常的,说明如果想通过调试去研究 Redis 这一款开源软件,你需要去补充一点 GDB 调试的知识

举报

相关推荐

0 条评论