【面试】linux && gdb

2023-11-04

Linux
Linux开发你们怎么上传文件的 
gdb
linux断点所有线程都会停住吗
GDB查看所有线程栈命令

当程序在gdb下因任何原因停止时,例如达到断点,所有执行线程都将停止,而不仅仅是当前线程。

Linux上传文件的方法
mac scp
windows ftp SecureCRT  Xshell 7
vscode remote 可以直接远程编码

GDB
多线程调试,最重要的几个命令:
info threads                    查看当前进程的线程。
thread <ID>                     切换调试的线程为指定ID的线程。
break file.c:100 thread all     在file.c文件第100行处为所有经过这里的线程设置断点。
set scheduler-locking off|on|step    
thread apply ID1 ID2 command        让一个或者多个线程执行GDB命令command
thread apply all command            让所有被调试线程执行GDB命令command。


GDB会为每个线程分配一个ID, 后面操作线程的时候会用到这个ID.
前面有*的是当前调试的线程.
在使用step或者continue命令调试当前被调试线程的时候,其他线程也是同时执行的,
怎么只让被调试程序执行呢?
通过这个命令就可以实现这个需求。
off      不锁定任何线程,也就是所有线程都执行,这是默认值。
on       只有当前被调试程序会执行。
step     在单步的时候,除了next过一个函数的情况
(熟悉情况的人可能知道,这其实是一个设置断点然后continue的行为)以外,
只有当前线程会执行。

参考资料
https://www.cnblogs.com/lsgxeva/p/8078670.html
http://ask.sov5.cn/q/nm1OBa6Iei

http://www.cppblog.com/liu1061/articles/53232.html


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【面试】linux && gdb 的相关文章

随机推荐

  • 系统架构设计模块拆分维度和原则

    在我们从零开始做一个新系统的时候 会首先进行系统功能模块架构设计 那么是直接做一个大而全的垂直的MVC系统 使用一个war包进行发布管理 还是需要按一些规则进行模块拆分 设计成SOA或者微服务系统比较好呢 这个笔者认为需要依据项目具有什么样
  • ue4 unreal4 json序列化工具 数据转成字符串等

    首先说一个也能序列化的插件 VaRest 这个能序列化能发请求 但是序列化这块不太好用 可能是我不怎么会用吧 正式介绍一下今天的主角插件 JsonBlueprint 是免费的 是免费的 是免费的 虚幻商城 搜索 json 就是这个插件啦 说
  • config设置源 使用pip_python pip源配置

    pip源配置文件可以放置的位置 Linux Unix etc pip conf pip pip conf config pip pip conf Mac OSX Library Application Support pip pip con
  • 方法注入以及bean的作用域

    方法注入 Spring在初始化容器的时候对配置
  • Dos启动远程桌面命令

    打开 Remote Registry Service这个服务 用mstsc命令运行 远程管理软件集合介绍 http bbs kafan cn thread 218201 1 1 html
  • Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集

    Python将COCO格式实例分割数据集转换为YOLO格式实例分割数据集 前言 相关介绍 COCO格式实例分割数据集转换为YOLO格式实例分割数据集 coco格式对应的json文件 以test json为例 格式转换代码 内容如下 前言 由
  • c++STL容器的通用接口(c++STL相关)

    STL容器具有以下一些特点 1 STL主要通过模板方式进行接口编程 2 用了move后原来的左值引用就不存在了 3 对于所有container有begin和end和empty 大多数都有size 除了forward list 大多数都有cl
  • c++primer exercises 7.0

    Exercise 7 1 What is th difference betwen a parameter and an argument Ans 形参与实参的区别 1 初始化方式 形参在函数的形参表里定义 由函数调用的时候 实参来初始化
  • 阿里巴巴Java开发手册代码规范

    阿里巴巴Java开发手册代码规范 转载自 阿里巴巴Java开发规约插件p3c详细教程及使用感受 如有侵权 请联系我删除 开源地址 https github com alibaba p3c tree master idea plugin 使用
  • 毕业设计 基于单片机的数字出租车计价器

    0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求 为了大家能够顺利以及最少的精力通过毕设 学长分享优质毕业设计项
  • 在ubuntu环境下安装python3虚拟环境

    目的 为了各个python项目间的模块包版本不互相影响 创建虚拟环境 针对某一项目使用对应的虚拟环境 这样当其他项目使用更高版本模块包的时候 也不会影响此项目中的包的使用 环境 Linux操作系统 ubuntu18 10 python版本
  • 【Unity编程】欧拉角与万向节死锁(图文版)

    万向节死锁 Gimbal Lock 问题 上文中曾经说过 欧拉旋转的顺规和轴向定义 自然造就了 万向节死锁 问题 本文主要来探索它自然形成的原因 陀螺仪 首先 我们来了解Gimbal 究竟是个什么玩意儿 下面来自维基百科中关于Gimbal的
  • 海南省工业学校计算机,直播预告丨特色职教育英才!7日下午邀你“云”探访海南省工业学校...

    新海南客户端 南海网 南国都市报7月6日消息 记者 杜倬荷 你想知道电工电子与自动化实训基地究竟长什么样吗 汽车运用与维修实训都有哪些内容 由新海南客户端 南海网 南国都市报联合推出的 建设自贸港 我们一起来 海南中职院校直播探校系列活动
  • [源码和文档分享]Python实现基于AdaBoost算法的微博情感分类系统

    摘 要 随着互联网的快速发展 各类社交媒体平台如微信 QQ等也与日俱增 而微博更是集成了传统网站 论坛 博客等的优点 并加上了人与人之间的互动性 关系亲密程度等多种智能算法 并以简练的形式让数据爆发性的传播 促进了人与人之间的交流 网民可以
  • for循环作用域问题(var和let)

    看这个 var arr for var i 0 i lt 10 i arr i function console log i arr 0 10 arr 1 10 arr 2 10 arr 3 10 还有这个 ul li 1 li li 2
  • 华为服务器格式化系统,服务器操作系统格式化

    服务器操作系统格式化 内容精选 换一换 本文以云服务器的操作系统为 Windows Server 2008 R2 Standard 64bit 磁盘容量为3 TB举例 提供容量大于2 TB的Windows数据盘的初始化操作指导 MBR格式分
  • Microsoft 365的密钥

    Microsoft 365 的密钥是一个字符串 用于激活 Microsoft 365 订阅 它是唯一的 并且需要在订阅期间进行激活 以便可以使用所订阅的服务 如果您没有密钥 或者密钥无效 您将无法使用 Microsoft 365 服务
  • 高并发之API接口限流

    在开发高并发系统时有三把利器用来保护系统 缓存 降级和限流 缓存 缓存的目的是提升系统访问速度和增大系统处理容量 降级 降级是当服务出现问题或者影响到核心流程时 需要暂时屏蔽掉 待高峰或者问题解决后再打开 限流 限流的目的是通过对并发访问
  • cadence allegro 封装焊盘编号修改 (引脚编号修改)

    1 打开dra文件在find里面 off all 然后只点击text 2 点击需要更改的焊盘 3 菜单栏edit text 4 弹出窗口修改即可 注意 按照网上的其他操作并没有执行步骤1操作 我尝试过不好使 由于项目需要应用多年的AD软件转
  • 【面试】linux && gdb

    Linux Linux开发你们怎么上传文件的 gdb linux断点所有线程都会停住吗 GDB查看所有线程栈命令 当程序在gdb下因任何原因停止时 例如达到断点 所有执行线程都将停止 而不仅仅是当前线程 Linux上传文件的方法 mac s