嵌入式Linux中文站

GDB调试工具入门

阅读(168)

从Windows转到Linux下已经有一段时间了,每次刷算法题碰到问题需要调试的时候,就分分钟想关机,切换到Windows上调试。于是,花了一点时间来搜索一下Linux下常见的调试工具,这不搜不知道,一搜吓一跳,居然差点错过了这么好的调试利器GDB。上手十分简单,几分钟就可以开开心心调试你的代码了。 GDB概述 GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。相比于VS里面的图形化调试工具,其功能更加强大。 GDB安装 在终端下运行如下代码即可安

GDB调试命令

阅读(195)

1、查看源码: list [函数名][行数] 2、暂停程序 (1)设置断点: a、break + [源代码行号][源代码函数名][内存地址] b、break ... if condition ...可以是上述任一参数,condition是条件。例如在循环体中可以设置break ... if i = 100 来设置循环次数 (2)观察断点: a、watch + [变量][表达式] 当变量或表达式值改变时即停住程序。 b、rwatch + [变量][表达式] 当变量或表达式被读时,停住程序。 c、awatch

Linux应用调试技术之GDB和GDBServer

阅读(166)

1、调试原理 GDB调试是应用程序在开发板上运行,然后在PC机上对开发板上得应用程序进行调试 ,PC机运行GDB,开发板上运行GDBServer 。在应用程序调试的时候,pc机上的gdb向开发板上的GDBServer发出命令,而开发板上的gdbserver就会向应用程序发出信号,使应用程序停下来或者完成其他一些工作。 2、安装GDB和GDBServer (gdb-7.4.tar.bz2) 2.1、GDB 1、下载:http://ftp.gnu.org/gnu/gdb/ 2、解压:tar xvf gdb-7

Linux poll函数深入理解

阅读(180)

poll函数与select函数差不多 函数原型: #include poll.h int poll( struct pollfd fd[], nfds_t nfds, int timeout); struct pollfd的结构如下: struct pollfd{ int fd; // 文件描述符 short event ; // 请求的事件 short revent; // 返回的事件 } 每个pollfd结构体指定了一个被监视的文件描述符。第一个参数是一个数组,即poll函数可以监视多个文件描述符。每

九款命令行实用工具助你监测Linux磁盘分区及使用情况

阅读(93)

我们在本文中将介绍多款Linux命令行实用工具,你可以用它们在Linux下检查磁盘分区。 监测一个或多个存储设备的空间使用情况是系统管理员最重要的任务之一,这有助于确保存储设备上仍有足够的闲置空间,以便高效地运行Linux系统。 一、打印输出Linux磁盘分区表的命令行实用工具 1. fdisk(固定磁盘)命令 fdisk是一款功能强大、广受欢迎的命令行工具,可用于创建和处理磁盘分区表。 它支持GPT、MBR、Sun、SGI和BSD等格式的分区表。你可以通过它易于使用、基于文本、菜单驱动的界面来运行fdi

Ubuntu16.04 LTS下apt安装WireShark

阅读(105)

Ubuntu16.04 LTS下apt安装WireShark 安装与配置 首先通过apt安装WireShark: $ sudo apt install wireshark 会同时安装许多的依赖包,其中包括一个叫做wireshark-common的包,在dpkg预配置时会弹出对话解释安装选项,大意是 dumpcap 可以被安装成允许在wireshark用户组中的用户抓包,这样好过直接以root权限运行 wireshark ,因为从整个程序的角度来说,后者会让更多的程序代码运行在提升的权限下。 在这里我们选择

对 Linux 系统休眠的理解

阅读(293)

今天看了一个关于 中断例程为什么不能休眠 的文章,引发了我的思考。其实这个问题在学习驱动的时候早就应该解决了,但是由于5年前学驱动的时候属于 Linux 初学者,能力有限,所以对这个问题就知其然

如何在 Linux 下检测内存泄漏

阅读(256)

本文针对 linux 下的 C++ 程序的内存泄漏的检测方法及其实现进行探讨。其中包括 C++ 中的 new 和 delete 的基本原理,内存检测子系统的实现原理和具体方法,以及内存泄漏检测的高级话题。作为内存检测子系统实现的一部分,提供了一个具有更好的使用特性的互斥体(Mutex)类。