随笔分类 -  Linux

Valgrind 使用简单说明
摘要:原文:http://hi.baidu.com/timegoneby/item/18faad28a0cafc85af48f59d本文部分参考网上相关资料。Valgrind能做什么? •内存使用检测,包括: –内存泄漏 –非法内存访问 –未初始化变量使用 –重复释放内存 •多线程竞争 –检测死锁 -检测竞争Valgrind还能做什么? •性能分析 –Cachegrind+ cg_annotate 它模拟 CPU中的一级缓存I1,D1和L2二级缓存,能够精确地指出程序中 cache的丢失和命中。如果需要,它还能够为我们提供cache丢失次数,内存引用次数,以及每行代码,每个函数,每个... 阅读全文
posted @ 2012-10-18 16:20 玄冬 阅读(270) 评论(0) 推荐(0)
Linux中gdb 查看core堆栈信息
摘要:core dump 一般是在segmentation fault(段错误)的情况下产生的文件,需要通过ulimit来设置才会得到的。调试的话输入: gdb filename core filename就是产生core文件的可执行文件,core就是产生的dump文件查看栈信息—————当程序被停住了,你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数,函数的地址,函数参数,函数内的局部变量都会被压入“栈”(Stack)中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB命令:backtracebt打印当前的函数调用栈的所有信息。如:(gdb) b 阅读全文
posted @ 2012-10-05 00:03 玄冬 阅读(6632) 评论(0) 推荐(1)