linux的基础知识——多线程gdb调试
1.gdb调试
\qquadgdb调试命令,在生成可执行文件时,加-g
gcc xxx.c -o xxx -g
\qquad执行gdb xxx
,就可以跳转到gdb调试界面,对xxx
进行调试。
\qquad首先,我们要查看xxx.c
的内容,以确定在哪里打断点。查看xxx.c
文件的命令:
l #查看.c文件的10行,一直回车可以继续查看
\qquad接下来进行打断点
b 行数 #在制定的行打断
\qquad查看断点序号和取消断点操作
i b
d 断点序号
\qquad在打好断点之后,我们就可以进行正式调试
start #开始调试
n #单步调试
p 变量名 #查看对应的变量值
ptype 变量名 #查看对应的变量类型
display 变量 #追踪对应的变量值,并打印
undisplay 变量 #停止追踪变量值
quit #退出gdb
2.多进程调试
\qquadfork()函数可以在程序中,创造子进程。如果我们对程序进程调试,默认追踪的是父进程的调试。当我们需要对子进程进行调试时,需要在执行fork()前,设置:
set follow-fork-mode child
linux的基础知识——多线程gdb调试相关推荐
- Kali Linux渗透基础知识整理(四):维持访问
Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...
- 权限认证php,2016年Linux认证基础知识:php做权限管理
2016年Linux认证基础知识:php做权限管理 在学习Linux认证过程中,每个人会遇到每个人不同的问题,或小或大,那么你知道在Linux下,php怎么做权限管理?下面跟yjbys小编来看看最新的 ...
- 多进程多线程GDB调试 (转)
多进程多线程GDB调试 一.线程调试指南: 1. gdb attach pid 挂载到调试进程 2. gdb$ set scheduler-locking on 只执行当前选定线程的开关 3 ...
- Linux系统基础知识
Linux系统基础知识 1.在Linux系统中,以文件方式访问设备. 2. Linux内核引导时,从文件 /etc/fstab中读取要加载的文件系统. 3. Linux文件系统中每个文件用 ino ...
- Linux操作系统基础知识学习
Q1.什么是GNU?Linux与GNU有什么关系? A: 1)GNU是GNU is Not Unix的递归缩写,是自由软件基金会(Free Software Foundation,FSF)的一个项目, ...
- Linux常用基础知识必备三之常用指令及操作
Linux常用基础知识必备三之常用指令及操作 1.vi和vim vi如何使用 vi几种模式下的操作指令 命令模式进入编辑模式 命令模式下的快捷键 底行模式(指按了esc键之后输入按键:后出现) 字符串 ...
- linux系统下io的过程,Linux系统基础知识:IO调度
Linux系统基础知识:IO调度 IO调度发生在Linux内核的IO调度层.这个层次是针对Linux的整体IO层次体系来说的.从read()或者write()系统调用的角度来说,Linux整体IO体系 ...
- Linux入门基础知识
注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...
- Linux驱动 简单的Linux驱动基础知识
Linux驱动 简单的Linux驱动基础知识 一.简述 记--Linux驱动学习笔记. Linux驱动程序初始化硬件设备,并提供硬件控制接口给更上一层的应用调用. 例如使用QT应用程序 ...
最新文章
- 堆叠柱形图上自定义数字_柱形图的类别标签太长太宽,倾斜起来了怎么办?
- win10下使用certutil工具对文件的SHA1、MD5和SHA256哈希结果做验证(超简单,附图)
- golang Reflect包
- 笔记-项目整体管理-项目收尾
- 【征稿进行时】计算机与智能控制主题征稿,ICCEIC 2020持续征稿中!
- 静态多态之泛型编程(模板)
- 什么是反射(.NET)[转]
- 聊一聊使用airtest-selenium做Web自动化的常见问题
- java猫和猫的名字
- java获取元素创建时间_Golang中使用Date进行日期格式化(沿用Java风格)
- mysql redo log 数据恢复_MySQL 怎么样恢复丢失的数据?redo log 写磁盘的过程
- Cocos2D教程:使用SpriteBuilder和Cocos2D 3.x开发横版动作游戏——Part 2
- 马云思考阿里下一个15年:大数据是未来核心
- Xshell 使用删除键乱码问题
- sitf+LK+pnp 识别、跟踪图片,并求三维旋转角度(四) -----LK光流跟踪
- Win 7系统优化小工具 (批处理)
- getFieldDecorator` will override `value`, so please don‘t set `value and v-model` directly and use `
- 苹果6屏幕多大_给iPhone8P换完新屏幕,我觉得新iPhoneSE不香了
- 618挑选网络电视盒子哪个好?发烧友整理目前最强的电视盒子
- 运维服务管理基础知识总结
热门文章
- LeetCode MySQL 1264. 页面推荐(union)
- LeetCode 305. 岛屿数量 II(并查集)
- LeetCode 第 187 场周赛(1336/3107,前43.0%)
- java子类继承父类实际_java子类继承父类,是否生成父类对象?
- MySQL - 创建存储过程Procedure,Do While实现循环
- 卫星系统——酒店后端全链路日志收集工具介绍
- Spring Boot引起的“堆外内存泄漏”排查及经验总结
- 论文浅尝 | CFO: Conditional Focused Neural Question Answering
- PaddleHub教程合集
- 【JavaWeb】JDBC的基本操作和事务控制+登录和转账案例