
linux调试工具
文章平均质量分 81
zht_sir
这个作者很懒,什么都没留下…
展开
-
Linux 系统内核的调试
本文将首先介绍 Linux 内核上的一些内核代码监视和错误跟踪技术,这些调试和跟踪方法因所要求的使用环境和使用方法而各有不同,然后重点介绍三种 Linux 内核的源代码级的调试方法。调试是软件开发过程中一个必不可少的环节,在 Linux 内核开发的过程中也不可避免地会面对如何调试内核的问题。但是,Linux 系统的开发者出于保证内核代码正确性的考虑,不愿意在 Linux 内核源代码树转载 2007-03-21 11:34:00 · 1855 阅读 · 0 评论 -
Linux高可用(HA)集群笔记heartbeat+drbd+nfs
<!--google_ad_client = "pub-2132256014190581";/* 728x15, 创建于 09-4-3 */google_ad_slot = "3979913520";google_ad_width = 728;google_ad_height = 15;// --><!--google_ad_client = "pub-21转载 2009-04-03 22:19:00 · 1426 阅读 · 0 评论 -
Linux平台Makefile文件的编写基础篇
<!--google_ad_client = "pub-2132256014190581";/* 728x15, 创建于 09-4-3 */google_ad_slot = "3979913520";google_ad_width = 728;google_ad_height = 15;// --><!--google_ad_client = "pub-21转载 2009-04-04 08:47:00 · 1624 阅读 · 0 评论 -
【Posix线程】pthread_clean_push和pthread_clean_up的使用
<!--google_ad_client = "pub-2132256014190581";/* 728x15, 创建于 09-4-3 */google_ad_slot = "3979913520";google_ad_width = 728;google_ad_height = 15;// --><!--google_ad_client = "pub-21转载 2009-04-04 08:43:00 · 1252 阅读 · 0 评论 -
ARM板上构造gdb +gdbserver调试环境
S3C2410 ARM板上构造gdb +gdbserver调试环境 远程调试环境由宿主机gdb和目标机调试stub共同构成,两者通过串口或TCP连接。使用GDB标准程串行协议协同工作,实现对目标机上的系统内核和上层应用的监控和调试功能。调试stub是嵌入式系统中的一段代码,作为宿主机GDB和目标机调试程序间的一个媒介而存在。 就目前而言,嵌入式Linux系统中,主要有转载 2007-04-07 14:42:00 · 3368 阅读 · 0 评论 -
使用 SystemTap 调试内核
SystemTap 是一种新颖的 Linux 内核诊断工具,提供了一种从运行中的 Linux 内核快速和安全地获取信息的能力。SystemTap 是内核开发人员和系统管理员的福音,因为这使得他们可以通过编写或者重用简单的脚本来收集内核的实时数据,而不需要再忍受修改源码、编译内核、重启系统的漫长煎熬。本文介绍了 SystemTap 的安装、使用和基本原理,并用一些有趣的例子揭示了 System转载 2007-03-21 11:49:00 · 2806 阅读 · 0 评论 -
嵌入式操作系统的调试
调试是开发过程中必不可少的环节,通用的桌面操作系统与嵌入式操作系统在调试环境上存在明显的差别。前者,调试器与被调试的程序往往是运行在同一台机器、相同的操作系统上的两个进程,调试器进程通过操作系统专门提供的调用接口(早期UNIX系统的ptrace调用、如今的进程文件系统等)控制、访问被调试进程。后者(又称为远程调试),为了向系统开发人员提供灵活、方便的调试界面,调试器还是运行于通转载 2007-03-21 11:46:00 · 1101 阅读 · 0 评论 -
Linux 内核调试器内幕
调试内核问题时,能够跟踪内核执行情况并查看其内存和数据结构是非常有用的。Linux 中的内置内核调试器 KDB 提供了这种功能。在本文中您将了解如何使用 KDB 所提供的功能,以及如何在 Linux 机器上安装和设置 KDB。您还将熟悉 KDB 中可以使用的命令以及设置和显示选项。Linux 内核调试器(KDB)允许您调试 Linux 内核。这个恰如其名的工具实质上是内核代码的补丁,转载 2007-03-21 11:44:00 · 1137 阅读 · 0 评论 -
使用 Kprobes 调试内核
使用 printk 收集 Linux ™ 内核的调试信息是一个众所周知的方法 —— 而使用了 Kprobes,不需要经常重新引导和重新编译内核就可以完成这一任务。Kprobes 与 2.6 内核结合起来提供了一个动态插入 printks 的轻量级、无干扰而且强大的装置。记录调试信息(比如内核栈追踪、内核数据结构和寄存器)日志从来没有这么简单过! Kprobes 是 Li转载 2007-03-21 11:42:00 · 1325 阅读 · 0 评论 -
将信号用作 Linux 调试工具
通过重点分析使用信号处理程序捕获到的数据,您可以加速调试过程中耗时最多的一个步骤:寻找 bug。本文介绍了 Linux® 信号的背景知识,并给出了已在 PPC Linux 测试通过的示例,然后介绍如何设计自己的信号处理程序来输出信息,从而快速定位代码中有问题的部分。信号 就是软件中断,可以向正在执行的程序(进程)发送有关异步事件发生的信息。大部分硬件 trap(非法指令、转载 2007-03-21 11:39:00 · 1215 阅读 · 0 评论 -
Linux on Power 上的调试工具和技术
调试是一项主要的软件开发活动,作为应用程序开发人员,您无法避免对程序进行调试。有效的调试不仅能缩短软件开发周期,而且可以节省成本。本文简要介绍了在用户空间的 C/C++ 和 Java? 应用程序中查找 bug 的技术,并介绍了一些可以在 Linux? for POWER? 架构上使用的调试技术。简介调试程序有很多方法,例如向屏幕上打印消息,使用调试器,或者只需仔细考虑程序如何运转载 2007-03-21 11:38:00 · 1799 阅读 · 0 评论 -
掌握 Linux 调试技术
您可以用各种方法来监控运行着的用户空间程序:可以为其运行调试器并单步调试该程序,添加打印语句,或者添加工具来分析程序。本文描述了几种可以用来调试在 Linux 上运行的程序的方法。我们将回顾四种调试问题的情况,这些问题包括段错误,内存溢出和泄漏,还有挂起。本文讨论了四种调试 Linux 程序的情况。在第 1 种情况中,我们使用了两个有内存分配问题的样本程序,使用 MEMWAT转载 2007-03-21 11:28:00 · 1069 阅读 · 0 评论 -
战胜 Linux 中的 Bug
这是由两部分组成的关于调试 zSeries* 上的 Linux 应用程序的系列文章中的第 1 部分。请参阅 第 2 部分。 当某个进程崩溃时,日志文件(/var/log/messages)中就会给出附加的信息,包括程序终止原因、故障地址,以及包含程序状态字(PSW)、通用寄存器和访问寄存器的简要寄存器转储。图 1表明程序(名为“simple”)以一个程序中断代码 0x10 终止(转载 2007-03-21 11:55:00 · 1118 阅读 · 0 评论 -
调试 configure
通常,在软件包的 README 文件中只能找到非常简单的“编译说明:运行 configure,然后运行 make”。但是,这样行不通时怎么办?在本文中,Peter Seebash 讲述了当自动的配置脚本失效时应该如何去做——以及作为开发者您应如何尽量避免这种错误。毕竟,如果您的程序无法编译,其结果将和您的程序编译后不能运行一样,您的用户会减少。现在许多开放源代码的程序都会附带有 co转载 2007-03-21 11:52:00 · 2187 阅读 · 0 评论 -
使用 Eclipse 平台进行调试
本文概述了怎样使用 Eclipse 平台的内置调试功能来调试您的软件项目。调试是程序员无法回避的工作。调试方法有许多种,但归根结底,就是找到引发错误的代码。举例来说,在 Linux 应用程序中,分段故障被认为是最常见的错误之一。当程序尝试访问未分配给它的内存并因为分段违例而终止时,将产生这种错误。要修正这种错误,您需要找到引发该行为的那行代码。一旦找到有问题的代码行,这对于知道引发错转载 2007-03-21 11:51:00 · 1600 阅读 · 0 评论 -
使用 GDB 调试 Linux 软件
Linux 的大部分特色源自于 shell 的 GNU 调试器,也称作 gdb。gdb 可以让您查看程序的内部结构、打印变量值、设置断点,以及单步调试源代码。它是功能极其强大的工具,适用于修复程序代码中的问题。在本文中,David Seager 将尝试说明 gdb 有多棒,多实用。编译开始调试之前,必须用程序中的调试信息编译要调试的程序。这样,gdb 才能够调试所使用的变量、代码转载 2007-03-21 11:41:00 · 1662 阅读 · 0 评论 -
掌握udev
<!--google_ad_client = "pub-2132256014190581";/* 728x15, 创建于 09-4-3 */google_ad_slot = "3979913520";google_ad_width = 728;google_ad_height = 15;// --><!--google_ad_client = "pub-21转载 2009-04-03 22:36:00 · 1533 阅读 · 0 评论