Linux调试
Npgw
这个作者很懒,什么都没留下…
展开
-
Linux 线程或者进程在固定的CPU上运行方法
文章目录Linux 线程或者进程在固定的CPU上运行方法1 如何查看进程或者线程运行在哪个CPU上?1.1 利用PS命令进行查看1.2 利用top命令进行查看1.3 利用 proc信息进行查看2 利用 API 将线程和进程在固定的一个或者几个CPU运行2.1 更改线程运行的CPU2.1.1 pthread_setaffinity_np 接口2.1.2 代码2.2 将进程运行在固定的CPU2.2.1 sched_setaffinity 接口使用2.2.2 代码2.3 cpu亲和性(affinity)2.4 t原创 2020-09-14 23:32:04 · 1501 阅读 · 0 评论 -
Linux下SegmentFault(double free)分析方法(一)Gdb
Linux下SegmentFault(double free)分析方法(一)Gdb一、Gdb基本用法gdb的基本用法可以查看具体的man手册,man gdb 或者gdb官网查看,本文不介绍器详细的用法,只是简单用一下。 GDB官网文档 http://www.gnu.org/software/gdb/documentation/可以去官网下载gdb的文档二、示例代码double_...原创 2019-03-04 09:53:07 · 2642 阅读 · 0 评论 -
Linux下SegmentFault(double free)分析方法(二)gdbserver + gdb
Linux下SegmentFault(double free)分析方法(二)gdbserver + gdb一、引言在有些调试环境下没有gdb工具,尤其是在某些嵌入式下的板子,没有相关的gdb工具,但是有时会提供相关gdbserver工具,通过gdbserver同样我们可以进行利用网络进行远程调试二、板子上启动gdbserver[root@EPC-M6G2C ~]# gdbserver :1...原创 2019-03-10 19:45:40 · 1190 阅读 · 0 评论 -
Linux下SegmentFault(double free)分析方法(五)memwatch
Linux下SegmentFault(double free)分析方法(五)memwatch一、memwatch 简介MemWatch由 Johan Lindh 编写,是一个开放源代码 C 语言内存错误检测工具。MemWatch支持 ANSI C,它提供结果日志纪录,能检测双重释放(double-free)、错误释放(erroneous free)、内存泄漏(unfreed memory)、...原创 2019-03-10 19:46:43 · 518 阅读 · 0 评论 -
Linux下SegmentFault(double free)分析方法(四)coredump文件
Linux下SegmentFault(double free)分析方法(四)coredump文件一、coredump简介1、coredump文件是什么?core dump又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时,由操作系统把程序当前的内存状况存储在一个core文件中, 叫core dump.(linux中如果内存越界会收到SIGSEGV信号,然后就会core dump)在程...原创 2019-03-10 19:48:35 · 1362 阅读 · 0 评论 -
Linux下SegmentFault(double free)分析方法(三)valgrind
Linux下SegmentFault(double free)分析方法(一)Gdb一、Gdb基本用法gdb的基本用法可以查看具体的man手册,man gdb 或者gdb官网查看,本文不介绍器详细的用法,只是简单用一下。 GDB官网文档 http://www.gnu.org/software/gdb/documentation/可以去官网下载gdb的文档二、示例代码double_...原创 2019-03-10 19:49:32 · 1266 阅读 · 0 评论 -
Linux下SegmentFault(double free)分析方法(六)backtrace
Linux下SegmentFault(double free)分析方法(六)backtrace一、为什么用backtrce在Linux下进行调试时经常会用程序的栈信息尤其是在程序异常终止时,通常我们可以通过gdb 或者coredump来当时的栈信息,但是有时由于某些限制比如说嵌入式板子上没有gdb工具,或者某些嵌入式的板子上空间不足,不足以生成coredump文件,那这种情况下我们就需要在程序...原创 2019-04-28 23:14:06 · 601 阅读 · 0 评论 -
strace + gdb 追踪多线程死锁问题
strace + gdb 追踪多线程死锁问题一、strace命令简介1、strace是什么strace是Linux环境下的一款程序调试工具,用来监察一个应用程序所使用的系统调用,在其最简单的形式中,它可以从开始到结束跟踪二进制的执行,并在进程的生命周期中输出一行具有系统调用名称,每个系统调用的参数和返回值的文本行。在Linux中,进程是不能直接去访问硬件设备的,比如读取磁盘文件、接收网络数据...原创 2019-03-10 19:53:19 · 2879 阅读 · 0 评论 -
Linux 下栈溢出问题分析解决 *** stack smashing detected *** XXXX terminated
Linux 下栈溢出问题分析解决 *** stack smashing detected *** XXXX terminated1、利用gdb 或者valgrind 定位到具体的代码最近在Linux下调试程序,程序异常终止,具体现象如下*** stack smashing detected ***: ../out/Load terminatedAborted (core dump...原创 2019-05-08 23:27:12 · 16097 阅读 · 3 评论