首页 > 其他分享 >gdb-usage

gdb-usage

时间:2024-04-30 16:14:42浏览次数:22  
标签:gdb 线程 usage 多线程 断点 调试

gdb 使用
gdb usage

Created: 2024-04-29T20:17+08:00
Published: 2024-04-30T16:02+08:00
Categories: CPP

编译需要加上参数 -g

简单的如 step、continue 就不介绍了,参考 Linux 系统编程(一):C/C++程序编译与 gdb 调试 | Chou Bin's Blog

run 前为 main(argc, argv) 设置参数:

set args <arg1> <arg2> ...

切换目录打断点[1]

directory <path_to_file_folder>
break <filename>:<lineno>

多线程 debug[2]

info threads 查看当前进程的线程
thread <ID>  切换调试的线程为指定 ID 的线程
break test.c:100 thread all   在所有线程中相应的行上设置断点

set scheduler-locking off|on
  off   默认值,不锁定任何线程,所有线程都执行
  on    只有当前被调试程序会执行

  1. GDB 不同文件断点调试 - 知乎 ↩︎

  2. GDB 多线程之旅 - 知乎 ↩︎

标签:gdb,线程,usage,多线程,断点,调试
From: https://www.cnblogs.com/ticlab/p/18168193

相关文章

  • gdb 根据c语言二进制文件进程号查看内部多线程任务
    C语言二进制文件a编译时添加了-g(gdb调试),但是gdba这种方式有时不容易复现一些场景。这时可以先正常启动a,然后根据a的进程号启动gdb调试。#1.找到程序进程号psaux|grepa#2.使用GDB附加到该进程sudogdb-p[PID]#3.使用infothreads命令来列出......
  • mongdb未授权访问
    背景:mongdb未授权访问,解决方案是加认证。由于:安装好MongoDB数据库后,默认是【非授权模式】(也就是不需要任何权限验证、不需要验证账户,直接在命令窗口中输入mongo回车,就可以进行相关操作),这是非常不安全的所以:为了数据的安全,我们都应该去配置数据库的访问权限和修改默认(mongo......
  • vscode+gdbserver远程调试ARM环境搭建
     一、编译gdbserver1.下载gdb  http://ftp.gnu.org/gnu/gdb/2.解压缩  tarxfgdb-8.0.tar.xz3.交叉编译  cdgdb/gdbserver/ ./configure--host=arm-none-linux-gnueabihf--target=arm-none-linux-gnueabihf--program-prefix=arm-none-linux-gnueabihf-......
  • 配置MogDB/openGauss的grafana 的dashboard
    配置MogDB/openGauss的grafana的dashboard本文出处:https://www.modb.pro/db/188684概述我们已经介绍了prometheus+grafana+opengauss_exporter完成对MogDB/openGauss数据库的监控,但这只是第一步,我们还需要通过grafana的dashboard查看各个关注的指标项,本文主要......
  • go语言连接Mogdb
    go语言连接Mogdb本文出处:https://www.modb.pro/db/3880921.环境介绍[root@mogdb-kernel-0004src]#goversion //yum安装的gogoversiongo1.16.13linux/amd64[root@mogdb-kernel-0004src]#cat/etc/redhat-releaseCentOSLinuxrelease7.6.1810(Core)2.获取p......
  • MogDB插件之高速灌数
    MogDB插件之高速灌数本文出处:https://www.modb.pro/db/336694对于写密集型系统,我们一般有如下方式来进行加速:使用批量插入代替单条insert语句插入更好的处理方式是使用copy语句代替insert语句同时也可以使用多个session并行代替单个session的语句操作相比直接使......
  • 9个MogDB存储过程示例
    9个MogDB存储过程示例本文出处:https://www.modb.pro/db/400634存储过程是一组结构化的查询和语句,例如控制语句和声明。这里介绍9个在不同情况下很有用的存储过程示例。创建测试表:createtablepublic.test1(idint,namevarchar(10));使用存储过程插入数据CREATEORR......
  • VSCode设置GDB
    VSCode设置GDB调试工具调试Linux平台应用这里需要注意的我们的在CMake编译可执行程序时,需要加设置DEBUG模式。例如:通过命令行的方式cmake-DCMAKE_BUILD_TYPE=Debug..CMakeLists.txt设置set(CMAKE_BUILD_TYPE"Debug")linux下验证应用程序是否为debug......
  • vscode使用gdb插件调试二进制文件
    使用vscode访问虚拟机里面的代码。代码是在虚拟机的xshell编译的(必须的debug模式)。现在可以通过在vscode下面安装gdb插件。然后就可以在vscode下面使用gdb来启动这个二进制文件了,还可以在vscode里面,在函数上面打断点。 在vscode左侧栏,点击debug,可以创建launch.json文件。......
  • vscode配置gdb调试外部程序
    有一个工程是用qtcreator编译的我现在用vscode远程访问的这个工程,目前只能在vscode界面编辑代码。编译需要在qtcreator下面。刚开始也只能在qtcreator下面调试(debug,打断点)目前在vscode里面安装了gdb工具之后,就可以直接调试qtcreator编译好的二进制文件了。而且可以打断点......