GDB远程调试

gdb参数选项详解

gdb主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数即可。

gcc -g main.c -o main

要用gdb调试程序,必须在编译时加上-g和-ggdb选项,如果没有-g,将看不见程序的函数名和变量名,代替它们的全是运行时的内存地址。

gdb和gdbserver的编译器类型一致

开发机器安装gdb(x86环境)

gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf.tar.xz下载,其中bin目录下包含编译好的gdb

https://releases.linaro.org/components/toolchain/binaries/7.4-2019.02/arm-linux-gnueabihf/#/

目标程序执行机器(arm)

需要将编译好的gdbserver移动至目标机器安装

make install

或者直接使用该压缩包下编译好的gdbserver

https://launchpadlibrarian.net/155358238/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux.tar.xz

gdbserver启动

gdbserver localhost:1234 --attach 891

其中localhost为本机ip地址,或者直接未localhost也可以。

1234为远程调试端口号

891为要调试的进程号。可以通过ps -ef|grep xxx查看对应pid

gdb启动

gdb

gdb开启远程debug

target remote 192.168.123.244:1234

其中192.168.123.244为调试程序目标机器的ip

1234为调试程序开启的端口号,与gdbserver开启的端口号保持一致。

gdb命令使用参考如下文档

windows下安装gdb

Windows下如何使用和调试GDB-阿里云开发者社区

GDB调试可视化

https://zhuanlan.zhihu.com/p/563678056?utm_id=0#/

gdb命令使用

一步步教你使用GDB调试程序:从入门到精通的全面指南_gdb教程-CSDN博客

gdb调试命令

Gdb 入门+命令大全 - Iawen's Blog - 我喜欢这样自由的随手涂鸦, 因为我喜欢风......

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/16883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微服务和资源管理有什么区别?

微服务和资源管理在多个方面存在显著的区别。 微服务是一种软件架构风格,专注于构建小型、独立的服务单元,每个服务单元都运行在自己的进程中,并通过轻量级通信机制进行通信。这些服务单元通常是围绕单一业务功能或职责构建的,并且…

c语言从入门到函数速成(完结篇)

哈喽,小伙伴们大家好呀,本篇文章是这个系列的完结篇,希望大家看完后能有所收获哦 首先能看到这里的同学,一定也是自觉性比较强的了,我会在文章末尾给大家发点小福利 那么,我们先来通过数学中的函数来引入一…

基于python的k-means聚类分析算法,对文本、数据等进行聚类,有轮廓系数和手肘法检验

K-means算法是一种常见的聚类算法,用于将数据点分成不同的组(簇),使同一组内的数据点彼此相似,不同组之间的数据点相对较远。以下是K-means算法的基本工作原理和步骤: 工作原理: 初始化&#x…

Elasticsearch之入门与安装

Elaticsearch,简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。es也使用Java开发并使用Lucene作为其核心来…

车联网V2X通信技术简介

车联网V2X通信技术是一种将车辆与一切事物相连接的新一代信息通信技术。以下是对车联网V2X通信技术的详细解析: 一、V2X的定义与交互模式 定义:V2X(Vehicle to Everything)是指车用无线通信技术,其中V代表车辆&#…

探索python循环逻辑的魅力:从无限到有限

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:循环逻辑的初步认识 二、无限循环:持续运转的引擎 三、有…

通过 PW6606 快充电压诱骗芯片,了解 USB-A 与 USB-C 快充协议

充电器一般分两种: 1, A 口充电器,就是我们常见的 USB 口,如下图,这种通用快充协议叫: QC3.0,QC2.0 快充,是属于快充刚开始的充电协议,支持 5V,9V,12V 和 20V 电压输出充电器&#x…

【文末附gpt升级方案】GPT-4级别的AI系统安全性探讨与未来展望

GPT-4级别的AI系统安全性探讨与未来展望 一、引言 随着人工智能技术的飞速发展,尤其是自然语言处理(NLP)领域的突破,大型语言模型如GPT-4已经成为人们关注的焦点。然而,技术的进步往往伴随着争议和质疑。近日&#x…

自学动态规划——组合求数

组合求和 377. 组合总和 Ⅳ - 力扣(LeetCode) 如果求组合数就是外层for循环遍历物品,内层for遍历背包。 如果求排列数就是外层for遍历背包,内层for循环遍历物品。 AC: //这里同样是,求方法个数&#x…

【文末附gpt升级方案】UC伯克利的CV三巨头推出的纯视觉大模型在下游任务中的表现分析

UC伯克利的CV三巨头推出的纯视觉大模型在下游任务中的表现分析 UC伯克利的CV三巨头推出的纯视觉大模型,在无需自然语言参与的情况下,通过超过420B token的数据集训练,展现了强大的视觉理解和推理能力。在多个下游任务中,该模型均…

国内信创数据库生态

国内信创数据库生态 国内信创数据库主要包括但不限于以下几种: 数据库类型与厂商: 达梦 (武汉达梦) 官网 https://www.dameng.com/DM8.html 人大金仓 (北京) 官网 https://www.kingbase.com.cn/tyxsjk/i…

Open3D(C++) OTSU点云二值化

目录 一、算法原理二、代码实现三、结果展示1、原始点云2、二值化本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 最大类间方差法(Between-class scatter method)是一种用于分割的方法,它通过计算图…

Moto和Inter字节序

inter: 低地址按照start_bit位放低字节依次往高字节填充 MotoLsb: 低地址按照start_bit位放高字节,依次往低字节填充MotoMsb:高字节按照start_bit位放低地址,依次往高字节填充

【linux】服务器sshd服务导致CPU负载过高问题

一、背景 一台服务器突然访问ssh特别缓慢,top命令查看后,服务器Load Average占用很高。看相关异常进程都是sshd服务导致。 二、排查思路 查看服务器内存,磁盘io都是正常,在用连接数也不多。 一开始就怀疑是不是服务器被恶意攻…

grpc、多集群、多租户

gRPC和服务发现 一个A high-performance, open-source universal RPC framework,高性能、开源的通用 RPC 框架。使用protobuf 语言基于文件定义服务,通过 proto3 工具生成指定语言的数据结构、服务端接口以及客户端 Stub。移动端上面则是基于标准的 HTTP…

snmp学习小结

背景 很多厂商网络设备获取网络信息接口不一样,snmp用来统一接口 官网Net-SNMP 模型 每个主机可以安装自己的snmp agent,它可以监控目标机器的网络流量,当外部查询snmp信息时,请求会发到目标机器的snmp agent,由sn…

谷歌地图 | Google I/O ‘24 重磅发布助力企业拓展海外市场的新功能!

编者按:本文是 Google I/O 2024 系列的一部分,该系列分享了Google 年度开发者大会上最新的 Google Maps Platform 新闻。 距全球首个 Google Maps API 问世已近 20 年。它引领了网络和移动端地理空间体验的革命。从那时起,Google Maps Platf…

深入剖析—【服务器硬件】与【Nginx配置】:从基础到实战

服务器硬件部分: Processor (CPU):服务器的计算核心,负责处理数据和执行程序。Memory (RAM):用于暂时存储和快速访问数据,决定了系统的运行速度和并发处理能力。Storage (HDD/SSD):长期存储数据的设备&…

力扣hot100:146. LRU 缓存

力扣hot100:146. LRU 缓存 听说华为实习笔试考了这题 如何使得插入操作时 O ( 1 ) O(1) O(1)呢?我们需要维护一个时间的长短,以便于取出离现在最长的时间,这个时间比较容易实现,我们维护一个time表示当前时间&#x…

C#压缩单个文件

1、压缩方法 /// <summary> /// 压缩 /// </summary> /// <param name"source">源目录</param> /// <param name"s">ZipOutputStream对象</param> public static void Compress(string source, ZipOutputStream s) {…