3.一、可视化程序行为数组
3.二、准备简单的可预测的示例数据结构
[factorial.c]()多线程
3.三、使调试器与程序一块儿运行函数
gcc -g -o factorial factorial.c
gdb factorial
,而后输入run 命令行参数
,本例是run 1
run -1
时报内存错误3.四、学习在程序崩溃时执行栈跟踪工具
gdb的栈跟踪命令是bt
,backtrace
,或where
。学习
up
或down
在栈中移动3.六、学习在程序中导航测试
命令ui
run
start
没必要搜索包含main()函数的文件,直到main()的第一行 pause
continue
3种不一样的步进模式google
step
进入函数调用的函数体 next
finish
3.七、学习检查数据:变量和表达式操作系统
print n
3.八、一个简单示例的调试会话
gdb factorial
start 13
next
next
print n
step
break 8
一点输出
4.一、C/C++中的内存管理--功能强大但很危险
常见的内存访问bug
4.二、有效的内存调试器
delete[]
4.三、示例1:检测内存访问错误
gcc -g main1.c
valgrind --tool=memcheck --leak-check=yes ./a.out
4.四、示例2:对内存分配/释放的不完整调用
4.五、结合使用内存调试器和源代码测试器
--db-attach=yes
选项来链接源代码调试器。--db-command=<command>
指定另外一个调试器。purify_stop_here()
函数。_Insure_trap_error()
函数。4.七、什么时候使用内存调试器
4.八、约束
提供更多计算机资源
一点收获
valrind
开始使用和实践5.二、示例:分配数组
5.五、第3步:测量内存使用
5.5.2 在固定时间间隔中止程序
setenv
或export
5.5.8 使用内存剖析工具
AQtime
或Mpatrol
Massif
或Mpatrol
valgrind --tool=massif ./testmalloc n 100000 8
使用massif5.七、综合练习--genindex示例
一点收获
top
命令外,我知道的招就没有了。