在C++里,类的多态是通过继承由虚函数来体现的。那么在单继承中,类的成员变量和虚函数的分布又是怎样的呢?
看一下例子:
1 #include
2 class xuzhina_dump_c06_s4_base
3 {
4 private:
5 int m_a;
6 public:
7 xuzhina_du...
分类:
系统相关 时间:
2015-02-04 20:27:13
阅读次数:
246
Android开发,由一个Activity跳转到此xml对应的Activity,加上最后一个Button时,程序崩溃,去掉则...
分类:
其他好文 时间:
2015-02-03 22:41:31
阅读次数:
116
程序崩溃的两种主要现象:a. 程序在运行中的时候,突然弹出错误窗口,然后点错误窗口的确定时,程序直接关闭例如: “应用程序错误” “C++错误之类的窗口” “程序无响应” “假死”等此种崩溃特点:程序已异常,在你未点出错窗口的确定或其他按,所有错误信息都还保留在PC的内存中,可以直接抓取Dump文件...
分类:
数据库 时间:
2015-02-02 19:49:47
阅读次数:
1248
GDB是一个强大的GNU Project调试器。通过gdb你能够查看另一个程序的执行过程,或者当程序崩溃时正在做什么事情。GDB主要通过以下4个方面来帮助你找出程序中的bug: 运行你的程序,设置所有能够影响程序运行的东西 能够使你的程序在指定的条件下停止当你程序停止时,你能够检查发生了什么改变你的...
分类:
数据库 时间:
2015-02-01 01:51:55
阅读次数:
235
一. 背景
没人能保证自己的软件在各种未知环境运行下,会木有任何问题。那么如果程序崩溃了怎么办?看日志?日志不全又怎么办?日志能帮你定位的多细致呢?如果能有种方法记录程序最后工作的状态,比如堆栈调用情况等,那么我们就可以获悉“它是如何挂掉的~”
二. 调研
我们对程序bug引起的程序崩溃的五种定位方法进行了调研,并最终选择方案5为我所在项目使用的程序崩溃定位方案。...
调试程序,对动态申请的内存用free或者delete释放时程序崩溃,跳出如下对话框:
点击重试,定位到具体的CRT源码部分:_ASSERTE(_CrtIsValidHeapPointer(pUserData));
1、原因分析:
查看CRT源码,一步一步看看里面都干了什么吧: _CrtIsValidHeapPointer----->_CrtIsValidPointer---->Hea...
分类:
移动开发 时间:
2015-01-22 18:00:58
阅读次数:
241
基本预备相关知识 1 java的GC只负责内存相关的清理,所有其它资源的清理必须由程序员手工完成。要不然会引起资源泄露,有可能导致程序崩溃。2 调用GC并不保证GC实际执行。3 finalize抛出的未捕获异常只会导致该对象的finalize执行退出。4 用户可以自己调用对象的finalize方法,...
分类:
编程语言 时间:
2015-01-20 21:52:41
阅读次数:
175
在大型项目中,很容易出现版本不匹配的问题,其中导致的虚函数飘移的问题比较难解决。
在这里,用一个例子来说明如何解决这种问题。
建立三个源文件:testso.h,testso.cpp,xuzhina_dump_c6_s3_ex.cpp。
testso.h的代码如下:
1 #ifndef __TESTSO_H__
2 #define __TESTSO_H__
3
4...
分类:
系统相关 时间:
2015-01-19 00:14:28
阅读次数:
380
MFC中CAsyncSocket及其派生类对象跨线程使用方法
存在的现象
在MFC中用多线程方法开发WinSocket通讯程序时,如果你的的是API方式,自然没有以下说的问题。但如果当你使用CAsyncSocket及其派生类(CSocket或是你自己的写的)来开发的话,会发现在不同线程中使用CAsyncSocket及其派生类对象时,会出现程序崩溃。这里所说的跨线程,是指该对象在一个线程中调用C...
分类:
编程语言 时间:
2015-01-15 16:01:49
阅读次数:
150
在上一节已经探究了类的成员变量的排列,现在看一下虚函数表和成员变量的排列及虚函数之间的排列.
先看一个例子:
1 #include
2 class xuzhina_dump_c06_s3
3 {
4 private:
5 int m_a;
6 public:
7 xuzhina_dump_c06_s3(...
分类:
系统相关 时间:
2015-01-14 21:27:26
阅读次数:
273