linux下多线程的调试

多线程调试的基本命令(均在gdb命令行使用):

info threads ———— 显示当前可调试的所有线程。每一个线程都有自己的线程ID,显示结果中前面有*的表示当前调试的线程。

eg:

(gdb)info threads

ID    Target ID

3     Thread 0x——————(LWP 1235)

2    Thread 0x——————(LWP 1234)

*1    Thread 0x——————(LWP 1233)    //当前活动的线程

最前面的数字1、2、3表示线程ID

thread ID ———— 切换当前活动线程到ID指定的线程

thread apply ID1 ID2 command ———— 让一个或多个线程执行gdb命令command

thread apply all command ———— 让所有被调试线程执行gdb命令command

set schedular-locking off|on|step ———— off:调试线程时,其他线程也在运行;on:只有当前被调试线程执行;step:step在单步执行的时候,除了next过一个函数外,只有当前线程会执行。

linux下多线程的调试

时间: 2024-07-29 23:53:41

linux下多线程的调试的相关文章

linux下多线程下载工具axel的编译安装

axel 是Linux 命令行下多线程的下载工具,支持断点续传,速度通常情况下是Wget的几倍 官方主页:http://axel.alioth.debian.org/ 源码下载: #curl -O http://pkgs.fedoraproject.org/repo/pkgs/axel/axel2.4.tar.gz/a2a762fce0c96781965c8f9786a3d09d/axel-2.4.tar.gz 编译安装: # tar -xvf axel-2.4.tar.gz  && cd

Linux下的反调试技术

Linux下的反调试技术 2014年01月30日 ⁄ 综合 ⁄ 共 2669字 ⁄ 字号 小 中 大 ⁄ 评论关闭 转自  http://wangcong.org/blog/archives/310 如何防止自己的程序被调试器跟踪,这是一个很有趣的话题,也是反逆向工程中的一个重要话题.这里简单介绍一下Linux平台上的反调试技术. (本文主要参考:http://blog.txipinet.com/2006/10/05/37-tecnicas-anti-debugging-sencillas-pa

linux下多线程编程

最近研究mysql源码,各种锁,各种互斥,好在我去年认真学了<unix环境高级编程>, 虽然已经忘得差不多了,但是学过始终是学过,拿起来也快.写这篇文章的目的就是总结linux 下多线程编程,作为日后的参考资料. 本文将介绍linux系统下多线程编程中,线程同步的各种方法.包括: 互斥量(mutex) 读写锁 条件变量 信号量 文件互斥 在介绍不同的线程同步的方法之前,先简单的介绍一下进程和线程的概念, 它们的优缺点,线程相关的API,读者——写者问题和哲学家就餐问题. 基础知识 1. 进程和

Linux下用Xdebug调试php

Linux下用Xdebug调试php 博客分类: php PHPLinuxZendEclipseC# 为了调试PHP程序,安装一下xdebug. 官方网址: http://www.xdebug.org 首先下载xdebug2.1.0,在官方首页下载源代码,下载回来的文件名是:xdebug-2.1.0.tgz xdebug的版本需与您的php版本相对应,由于偶的php是5.3.2,所以下载xdebug2.1.0 Xml代码 收藏代码 cd /your/download/path tar zxvf

linux下多进程的调试

linux下多进程的调试: (1)follow-fork-mode set follow-fork-mode [parent | child] ---- fork之后选择调试父进程还是子进程 (parent: fork之后继续调试父进程:child: fork之后调试父进程.默认的是fork之后调试父进程) set detach-on-fork [on | off] ---- 指示gdb在fork之后是否断开某个进程的调试,或交由gdb控制 (on: 断开调试follow-fork-mode指定

Linux下性能测量和调试诊断工具Systemtap

一.简介 SystemTap是一个诊断Linux系统性能或功能问题的开源软件.它使得对运行时的Linux系统进行诊断调式变得更容易.更简单.有了它,开发者或调试人员不再需要重编译.安装新内核.重启动等烦人的步骤. 为了诊断系统问题或性能,开发者或调试人员只需要写一些脚本,然后通过SystemTap提供的命令行接口就可以对正在运行的内核进行诊断调试,以前需要的修改或插入调试代码.重新编译内核.安装内核和重启动等这些琐碎的工作完全消除.目前该工具并不支持对用户态应用的诊断调试,但是它们在以后会被添加

Linux下多线程下载工具 - Axel

Axel 是 Linux 下一个不错的HTTP/FTP高速下载工具.支持多线程下载.断点续传,且可以从多个地址或者从一个地址的多个连接来下载同一个文件.适合网速不给力时多线程下载提高下载速度.比如在国内VPS或服务器上下载lnmp一键安装包用Axel就比wget快. CentOS安装Axel: 目前yum源上没有Axel,我们可以到http://pkgs.repoforge.org/axel/下载rpm包安装. 32位CentOS执行下面命令: wget -c http://pkgs.repof

在Linux下开发和调试STM32

因为最近需要做一些STM32的开发,而我大部分的其他开发都在Linux上,经常在Windows和Linux下切换感觉比较不方便,于是就研究了一下Linux下开发STM32的工具,顺便在这边做下记录. 使用的开发工具 软件平台: Eclipse Luna 下载:https://eclipse.org/downloads/packages/release/luna/sr2 用于安装System Workbench for STM32插件,建议下载Eclipse IDE for C/C++ Devel

linux下core文件调试方法(转载)

转自于:http://blog.csdn.net/fcryuuhou/article/details/8507775 在程序遇到段错误不寻常退出时,一般是访问内存出错.但是不会给出程序哪里出现的问题,这个时候就需要core文件来帮助调试. 内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息).使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数. 1.core文件的生成开关和大小限制 1)使用ulimit -c命令可查看core文件的生成开关.若结果