首页
学习
活动
专区
圈层
工具
发布

gdb命令总结

help + 命令就可以查看这个命令的详细帮助信息 查看信息 info 我用过的 info share : info sharedlibrary 查看加载了什么库,地址好像不准,maps文件的才准...(其实直接输入sharedlibrary命令就行了,不过没有地址而已,不过那个地址也不准的样子) i b :查看断点 i r :查看寄存器, i r eax edx:只查看eax和edx 官方文档:...程序名 core文件路径 或者 gdb 程序名 –core core文件路径 调试命令 r 运行 c 继续运行,直到碰到断点或异常才会停止 ni 单步 si 步入 jump 跳到那里执行...运行到当前位置 info checkpoints 可以查看 restart 序号就可以切换了 最近发现的超好用的——202009 条件记录断点 类似windbg的条件记录断点效果 下了断点后,使用command命令...,加上断点的序号即可,之后就可以输入命令了,最后以end结尾就行 command gdb-peda$ bl Num Type Disp Enb

33310

gdb 基础命令

概述 GDB是GNU发布的一个调试工具。gdb 是基于UNIX/Linux 命令行的,功能强大,可与windows平台的visual studio 媲美。...基本命令 GDB的命令非常多,但我们只要掌握几个常见的,就可以满足日常基本程序的调试需求。...(gdb) q help 命令名称> 可以查看各个命令的用法 (gdb) help r 举例 先看一个简单的程序 #include int sum(int n) { int...文件,然后用 gcc 编译: gcc gdb_sample.c -g -o gdb_sample 上面的命令,用参数 -g将源代码信息编译到可执行文件中,如果不指定,将无法在 gdb 里面查看代码,可以看看使用...(gdb) 上面表示可执行文件已经加载成功,(gdb) 是gdb内部命令引导符,等待用户输入命令 下面使用l 命令来查看源码,可以指定行号,回车可以继续往下查看: (gdb) l 1 1

1.4K220
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    gdb调试基础命令

    但如果多程序同时崩溃就不知道哪个进程对应哪个服务,这时候有两种解决方法 (1) 程序启动记录PID 在程序启动时将PID记录下来 (2) 自定义core文件名称和目录。...常用命令详解 3.1 run gdb+filename是指attach到一个调试文件,并没有启动,使用run(r)启动 (gdb) r Starting program: /home/doper/github...3.11 set args 和 show args 在gdb filename或gdb attach pid后,若在run之前要指定程序的命令行参数,则可以使用set args,查看使用show args...4. gdb调试多线程程序 4.1 调试多线程程序的方法 先gdb让程序跑起来,然后Ctrl+C中断程序,使用Info threads命令查看当前进程下有多少线程在运行。...5. gdb调试多进程程序 5.1 方法一 先在一个shell窗口中调试父进程,等待子进程被fork出来后,再开启另外一个shell窗口使用gdb attach命令将gdb attach到子进程上。

    2.1K10

    Linux GDB jump 命令介绍

    jump 命令可以简写成 j,但是不可以简写成 jmp,其使用有一个注意事项,即如果 jump 跳转到的位置后续没有断点,那么 GDB 会执行完跳转处的代码会继续执行。...initServer” 、“b 2025”、“b 2027”在这个函数入口处、2025 行、2027 行增加三个断点,然后使用 run 命令重新运行一下程序,触发第一个断点后,继续输入 c 命令继续运行...Breakpoint 6, initServer () at server.c:2027 2027 server.current_client = NULL; (gdb) 程序将 2026...,2026 行处的代码是获取当前进程 id: 2026 server.pid = getpid(); 由于这一行被跳过了,所以 server.pid 的值应该是一个无效的值,我们可以使用 print 命令将这个值打印出来看一下...本质上,jump 命令的作用类似于在 Visual Studio 中调试时,拖鼠标将程序从一个执行处拖到另外一个执行处。 ?

    7.5K10

    GDB 常用的调试命令概览

    GDB 常用命令列表 命令名称 命令缩写 命令说明 run r 运行一个程序 continue c 让暂停的程序继续运行 next n 运行到下一行 step s 如果有调用函数,进入调用的函数内部,相当于...step into until u 运行到指定行停下来 finish fi 结束当前调用函数,到上一层函数调用处 return return 结束当前调用函数并返回指定值,到上一层函数调用处 jump j 将当前程序执行流跳转到指定行或地址...监视某一个变量或内存地址的值是否发生变化 list l 显示源码 info info 查看断点 / 线程等信息 ptype ptype 查看变量类型 disassemble dis 查看汇编代码 set args 设置程序启动命令行参数...show args 查看设置的命令行参数 扩充: gcc 常用选项 选项 选项说明 -v 查看gcc版本号 -I (大写 i ) 指定头文件目录,注意-I和目录之间没有空格 -c 只编译,生成.o

    2.5K20

    将CSV的数据发送到kafka(java版)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 为什么将CSV的数据发到kafka flink做流式计算时...,选用kafka消息作为数据源是常用手段,因此在学习和开发flink过程中,也会将数据集文件中的记录发送到kafka,来模拟不间断数据; 整个流程如下: [在这里插入图片描述] 您可能会觉得这样做多此一举...汇总统计(用来和flink结果对比验证); 另外,如果两条记录实际的间隔时间如果是1分钟,那么Java应用在发送消息时也可以间隔一分钟再发送,这个逻辑在flink社区的demo中有具体的实现,此demo也是将数据集发送到...kafka,再由flink消费kafka,地址是:https://github.com/ververica/sql-training 如何将CSV的数据发送到kafka 前面的图可以看出,读取CSV再发送消息到...SendMessageApplication.java中的文件地址、kafka topic、kafka broker三个参数准确无误; 运行SendMessageApplication.java; 开启一个 控制台消息kafka消息,参考命令如下

    4.6K30

    linux下gdb常用的调试命令

    用gdb调试程序时,常常很困惑一些命令的使用,要么是不知道这个命令,要么忘了命令的使用方法。...呵呵,有时迷茫了自己处在什么堆栈的深处,这是使用where命令能够清晰的看到自己的位置,有时在循环太多让人受不了了,可使用u或者finish或者jump命令来跳出去。...l 3,10 显示特定范围的源码 l main显示函数的源码 set listsize 50 修改源码显示行数 break 设置断点 b main设置函数断点 b 9 设置指定行断点 b 将下一行设置为断点...会从这个文件读取配置 cat ~/.gdb_history 呵呵,对于gdb时想要查看长的字符串老是显示不全,怎么半呢,gdb参看数组字符串时默认只是显示部分的数据,通过这个命令可以修改: set print...当程序显示函数信息时,GDB会显出函数的参数地址。

    3.5K20

    如何将Flink应用的日志发送到kafka

    全家桶是比较成熟的开源日志检索方案,flink日志搜集要做的就是将日志打到kafka,剩余的工作交由ELK完成即可。...flink应用集成logback进行日志打点,通过logback-kafka-appender将日志发送到kafka logstash消费kafka的日志消息送入es中,通过kibana进行检索 核心问题...编译打包,运行一下命令提交到yarn集群,采用yarn per job模式 flink run -m yarn-cluster -yd -ytm 2g -ys 4 -yjm 2g -ynm flink-demo...消费kafka的topic命令如下: kafka-console-consumer --bootstrap-server dn2.eights.com:9092 \ --topic flink-app-logs...可以发现自定义的Flink业务应用名称已经打到了日志上,kafka中的日志显示正常,flink应用日志发送到kafka测试完成。

    3.1K20

    使用 iptables 将 Kubernetes Service 流量随机发送到 Pod

    本文将带大家了解 Kubernetes 的 kube-proxy 组件如何使用 iptables 将 service 流量随机发送到 Pod,目的是实现 service 所需的 iptables 规则。...service 流量随机发送到 Pod。...这个命令有时候能成功有时候会失败。为什么会这样? K8sMeetup 启用 Hairpin 模式 如果使用最后一条命令失败了,那么我敢打赌,你运行了 Docker。至少对我来说是这样的。...类似于将物理以太网电缆插入物理网桥的端口,另一端插入物理计算机。 在 veth_dustin 上启用 Hairpin 模式: 尝试再次使用如下命令: 成功了!...不管怎样,如果我们随后运行以下命令: 可以看到请求会随机发送到运行在 netns_leah 和 netns_dustin 网络命名空间中的 python HTTP 服务器。

    2.2K20

    如何优雅的远程自动同步和远程调试c++?

    为此我发现Clion可以做到自动同步本场代码或自己下载远程代码同步到本地,以及调试在远程机器上运行的代码,分享给大家。 一、简 介 CLion是一款专为开发 C 及 C++ 所设计的跨平台 IDE。...二、环境准备 操作系统:macOS / Windows IDE: CLion 源码路径:Node Master 三、自动同步 1)打开CLion的设置,进入到 Preferences | Build,...-y #gdbserver yum install gdb-gdbserver -y 2、添加GDB Remote Debug 本地克利翁配置 1)添加一个GDB远程调试的配置 GDB Remote...完全的在远程工作 这是一个非常非常爽的操作,以后就可以完全的用IDE来写代码了,虽然使用命令行显得比较专业,但是使用工具可以有效的提高工作效率,何乐而不为呢?...1)进入 Preferences | Build, Execution, Deployment | Toolchains 2)设置远程连接信息,CLion会自动监测CMake gcc g++ gdb的信息

    4.6K61

    使用Clion优雅的完全远程自动同步和远程调试c++

    为此我发现Clion可以做到自动同步本场代码或自己下载远程代码同步到本地,以及调试在远程机器上运行的代码,为此记录下来。 简介 CLion 是一款专为开发 C 及 C++ 所设计的跨平台 IDE。...环境准备 操作系统: macOS / Windows IDE: CLion 源码路径: Node Master 自动同步 [设置远程链接] 打开CLion的设置,进入到 Preferences | Build...#gdbserver yum install gdb-gdbserver -y 添加GDB Remote Debug 本地克利翁配置 [添加远程调试设置] [添加GDB Remote Debug] [...设置gdb remote配置] 添加一个GDB远程调试的配置 GDB Remote Debug 设置远程访问参数(target remote args): tcp:xx.xx.xx.xx:1234 设置远程路径和本地路径的映射...完全的在远程工作 这是一个非常非常爽的操作,以后就可以完全的用IDE来写代码了,虽然使用命令行显得比较专业,但是使用工具可以有效的提高工作效率,何乐而不为呢?

    62.8K148
    领券