记录学习过程中的点点滴滴
调试
gdb调试程序系列之启动gdb【一】
十一 10th
首先需要在gcc或者g++编译时加入-g选项,这个程序才能将调试信息加入到执行程序中
其次需要把编译优化选项去掉,加入-O0选项,否则的话编译会修改你的源程序,调试时出现诡异的问题;
启动gdb的方法
1、gdb <program>
program也就是你的执行文件,一般在当然目录下。
2、gdb <program> core
用gdb同时调试一个运行程序和core文件,core是程序非法执行后core dump后产生的文件。
3、gdb <program> <PID>
如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程ID。gdb会自动attach上去,并调试他。program应该在PATH环境变量中搜索得到。或者是进入gdb后,通过attach PID命令,将调试进程加入到gdb中
gdb启动时常用开关选项 -symbols <file> -s <file> 从指定文件中读取符号表。 -se file 从指定文件中读取符号表信息,并把他用在可执行文件中。 -core <file> -c <file> 调试时core dump的core文件。 -directory <directory> -d <directory> 加入一个源文件的搜索路径。默认搜索路径是环境变量中PATH所定义的路径
JavaScript调试技巧之:快速定位[转载]
六 9th
快速定位,其实就是快速定位程序的错误,所以也算是调试。这个在实际的码代码时往往比较实用。大多数情况下,你的js代码不多(少于1000行), 只要能迅速发现代码的错误,往往不用复杂的调试。关于常用的快速定位方法,我总结了一下几点,欢迎大家补充。
1. 使用alert
alert其实比较实用。本地调试中,在合适的位置写alert,打出来一些变量,虽然比较土,但是往往事半功倍!另外有一个alert技巧,想看 看一个对象中的属性和它的值吗,试试这个:
var str = "", i; for (i in obj) { str += i + ": " +obj[i] + "\n"; } alert(str); 更多 >
近期评论