QScrollArea的setWidget函数调用代码如下:
ui.scrollArea->setWidget(pWidget1);
如果再调用一次这个函数,代码如下:
ui.scrollArea->setWidget(pWidget2);
这时,pWidget2就会代替pWidget1,pWidget1会被释放成为野指针。
仅做记录,具体未实验。...
分类:
其他好文 时间:
2015-05-05 10:39:45
阅读次数:
192
有时候程序的Release 版本发布出去后,在客户的机器上发送异常,大部分的情况下 我们都可以通过我们写的log 发现问题所在,但有时发送崩溃异常(如用到了野指针),我们希望能定位到发送崩溃的代码行。这时我们可以用dump文件。类似于Linux下的core文件。可以叫他“死前遗书”。
1,生成dump 文件。
windows 提供了dbghelp.dll 中的 MiniDumpWrit...
什么让你对C/C++如此恐惧?C/C++语言如此的强大,让人爱不释手,但晦涩的语法和诸多的编程陷阱让人头皮发麻。段错误我们通常遇到的最多的错误莫过于段错误,下面是一个经典的段错误,你没遇到过?亲,那不可能~
好吧,一般这样的错误大都由指针引起,看看我们的代码都写了些什么:#include "stdio.h"
#include "string.h"
#include "stdlib.h"void f...
分类:
编程语言 时间:
2015-04-29 23:28:30
阅读次数:
309
问题
(2)将注释(a)所在的那一行去掉,会出现什么现象?为什么?为什么a数据成员所占用的存储空间要在aa长度基础上加1?若指针a不是指向字符(即不作为字符串的地址),是否有必要加1?
提示错误,因为没有为a指针初始化地址,a将变为野指针。
字符串结束时需要用'\0'。
没有必要。
(3)为类A增加复制构造函数,用下面的main函数测试
int main()
{
...
分类:
其他好文 时间:
2015-04-15 09:38:56
阅读次数:
139
避免野指针的方法
1 定义指针变量的时候,指针变量赋值成NULL
2 释放的时候,判断是不是NULL
3 释放完毕以后再赋值成NULL
结构体小细节
typedef struct _Teacher{
char name[64];//64
int age;//4
char tile[128];//128
char c;
}Teacher,*pTea...
分类:
其他好文 时间:
2015-04-11 20:53:13
阅读次数:
130
近项目开发中,临时被调去修复一个页面返回时crash的问题。出现这个问题的原因也很巧合,正好服务地址在同事电脑上,也正巧网络请求响应时间狂慢!一个请求发出去回来的时间是40秒左右,要是在线上,肯定会让用户抓狂死!
当我打开项目的时候,点击页面返回时,发现网络请求依然在请求中,第一感觉就是内存管理上出错。在全局断点中定位到出问题的点上,竟然是delegate回调的地方出现了问题!
i...
分类:
其他好文 时间:
2015-04-09 15:31:48
阅读次数:
142
http://www.cnblogs.com/losesea/archive/2012/11/16/2772590.html首先说一下什么是指针,只要明白了指针的含义,你就明白null的含义了。假设 有语句 int a=10;那么编译器就在内存中开辟1个整型单元存放变量a,我们假设这个整型单元在内存...
分类:
其他好文 时间:
2015-04-03 23:55:23
阅读次数:
231
上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试。在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序,那么驱动程序如何调试呢?我们知道在调试程序时经常遇到的问题就是野指针或者数组越界带来的问题,在应用程序中运行这种程序就会报segmentation fault的错误,而由于驱动程序的特殊性,出现此类...
分类:
系统相关 时间:
2015-04-02 07:57:33
阅读次数:
416
上一篇我们大概聊了如何写一个简单的字符设备驱动,我们不是神,写代码肯定会出现问题,我们需要在编写代码的过程中不断调试。在普通的c应用程序中,我们经常使用printf来输出信息,或者使用gdb来调试程序,那么驱动程序如何调试呢?我们知道在调试程序时经常遇到的问题就是野指针或者数组越界带来的问题,在应用...
分类:
系统相关 时间:
2015-04-02 07:57:26
阅读次数:
320
野指针,也就是指向不可用内存区域的指针。通常对这种指针进行操作的话,将会使程序发生不可预知的错误。
“野指针”不是NULL指针,是指向“垃圾”内存的指针。人们一般不会错用NULL指针,因为用if语句很容易判断。但是“野指针”是很危险的,if语句对它不起作用。野指针的成因主要有两种:
(1)、指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随...
分类:
其他好文 时间:
2015-03-15 09:39:12
阅读次数:
140