使用空指针和缓冲区溢出是产生oops的两个最常见原因。1、直接查看oops信息,首先查找源代码发生oops的位置,通过查看指令寄存器EIP的值,可以找到位置。再查找函数调用栈可以得到更多的信息。从函数调用栈可辨别出局部变量,全局变量和函数参数。较为重要的信息就是指令指针(EIP),即出错指令的地址。...
分类:
系统相关 时间:
2015-04-01 16:42:39
阅读次数:
440
简介在代码量比较小的程序里追踪bug可以直接进行断点调试;但对于较大的软件系统这通常是一个低效的办法,尤其是软件系统包含UI交互的时候,断点常常使得UI卡死,使得追踪bug变得难以进行;另一种情形则是在多线程或者多进程的应用场景里,断点也很难发挥作用;一般书上讲printf是最好的调试方法,通过在关...
分类:
其他好文 时间:
2015-03-30 21:02:33
阅读次数:
175
有人说好程序是调出来的,且不说这句话是否片面,不可否认的是调试很重要。调试的目的是找出问题,二分法冒烟调试是定位大片代码问题最简单粗暴,也是非常有效的方式,因为这种调试方法定位错误代码行的时间复杂度是对数阶。“二分法冒烟调试”这个名字可能会有点让人迷惑。其实很简单,“二分法”概念取自我们常见的“二分...
分类:
其他好文 时间:
2015-03-30 17:47:13
阅读次数:
169
WPF Element Binding使用方法浅析,介绍了元素绑定的绑定模式、触发模式、元素绑定出现解析错误时的调试方法。
debuginram:程序在RAM中调试运行。根据RAM特性,断电后程序丢失。优点:程序运行速度较快。debuginflash:将程序下载到Flash中调试运行。根据Flash特性,断电后程序仍然存在,即可实现脱机运行。缺点:程序运行速度稍稍慢于RAM,对于普通的程序并没特别大的区别。此种调试方法一...
分类:
其他好文 时间:
2015-03-20 10:39:38
阅读次数:
282
大家都知道,一个int 或 unsigned int是由4个字节组成的,(《C/C++学习指南》,第3章,第3.2.3节:变量的内存视图)
例如,
int n = sizeof( int) ; // n为4
大家也能够清晰明白地看到内存里,那4个字节就在那,(《C/C++学习指南》,附录:VC2008调试方法)
但问题是:如何在代码里转成4个字节呢?...
分类:
编程语言 时间:
2015-03-13 18:50:41
阅读次数:
145
windows的C/C++程序员转到linux下面,面对的是不怎么友好的IDE及调试环境,非常的苦恼,本文说明了常见的调试方法,最后介绍了使用vs+visualgdb的方法在windows下方便的调试linux程序,使windows程序转向linux程序开发较为平缓。...
分类:
编程语言 时间:
2015-03-11 21:48:51
阅读次数:
209
在使用eclipse +pydev 调试Python时,按住ctrl键,一般是可以进入到对应的方法中去的。但是如果没有进入的话,会在eclipse中显示黄色,但是进入不了子方法。如果鼠标移上对应的方法,会弹出提示说:"_module not in pythonpath",那应该怎么做呢?加快调试方法...
分类:
编程语言 时间:
2015-03-09 16:04:21
阅读次数:
234
拓展安装调试方法:编写调试php文件 <?php memcache(); 通过命令行执行测试,因为php拓展安装成功与否与apache无关,所以没必要不断重启apache去看phpinfo();另外发现当php拓展文件不匹配的时候,wamp不报错,用命令行执行的时候会报错。wamp下配置memcac...
常用调试方法echo()可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。print()函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。print_...
分类:
其他好文 时间:
2015-03-05 16:49:37
阅读次数:
109