调试-MFC 程序运行时出现空指针

问题描述

MFC 程序运行时出现空指针

MFC程序在启动过程中对一个变量进行初始化,之后放在定时器里运行,第一次执行时正常的,从第二次开始就出现空指针。采用单步调试每次都进入反编译页面,按F5键再次进入定时器变量依然为空指针,请问大家有没有遇到过这样的问题,怎么解决的??

解决方案

具体要看程序。像数组越界之类的隐蔽bug也可能造成对变量的无意修改。

解决方案二:

python 程序运行时出现DLL load error
java--程序运行时出现内存溢出
VC++程序运行时出现Runtime error的一种情况及解决

解决方案三:

你的数组是不是动态分配的,第一个内存分配了吗?你说的是第一个出问题,应该不是越界的问题,你的数组是结构体吗?这个具体要看代码。

解决方案四:

直接看结构体中的数据是什么,或者处理前判断一下是否为空指针。然后就是检查其他地方是不是有地方在修改它等,或者越界操作了

解决方案五:

在修改该指针的地方打个断点或者log输出看看~

时间: 2024-10-01 14:32:21

调试-MFC 程序运行时出现空指针的相关文章

5 internal error-QT程序调试时报错,但程序运行时则不确定报错,是什么原因?

问题描述 QT程序调试时报错,但程序运行时则不确定报错,是什么原因? 调试时报错信息Internal error: pc 0x3ff in read in psymtab, but not in symtab. 解决方案 你有指针方面的问题,调试的时候,编译器会将堆上的内存初始化成特殊值,并且库有一些断言捕获你的代码的异常.发布版为了性能没有这样的初始化,也不执行断言. 所以调试运行往往能发现更多的问题.好好利用调试的这个便利特性检查下你的代码. 解决方案二: http://www.cnblog

控制-自己编的程序运行时串口被程序自己占用,如何用代码强制关闭重新连接?

问题描述 自己编的程序运行时串口被程序自己占用,如何用代码强制关闭重新连接? 我用vs2010基于MFC编一个小程序,其中有一部分是用单片机转USB串口与电脑程序相连.现在问题是: 不小心动了Usb线的话,程序会卡住,在想打开串口会显示串口被占用(就是自己的程序占用).需要把USB线拔下来才能解决问题.求大侠指导,能不能用代码控制,按个软件上的button,就能自动连接上com1. 求大侠指导! 解决方案 结束进程再重启看看行不行.首先要确定卡死不是驱动的问题,如果是驱动的问题,程序就无能为力了

using-为什么ASP.NET程序运行时不执行,也不报错?急急,哪位大蚁帮我一把戏?

问题描述 为什么ASP.NET程序运行时不执行,也不报错?急急,哪位大蚁帮我一把戏? 点发布时,屏幕闪一下,没有任何提示,不进行验证,也没有加到SQL2005库中! 前台: <%@ Page Language="C#" validateRequest="false" CodeFile="kjxm_Edit.aspx.cs" Inherits="As_Tzxm_Edit" %> <%@ Register Tag

浮动-程序运行时模块显示问题

问题描述 程序运行时模块显示问题 我的程序运行时有一个可浮动的mfc框架,上面有各种按钮,可以进行响应操作, 可我在程序代码中怎么就找不到位置呢,搜索其中的汉字内容,无结果 解决方案 检测一下这个类是不是继承类,如果是继承类,实现函数有可能在父类里面.

vs2010-VS2010程序运行时出错

问题描述 VS2010程序运行时出错 Visual Studio远程调试监视器的32位版本不能用于调试64位进程或64位转储,请改用64位版本

获取鼠标双击时间间隔问题,不论鼠标是否双击或双击速度,程序运行时始终显示时间为500毫秒,谢谢大家帮忙

问题描述 获取鼠标双击时间间隔问题,不论鼠标是否双击或双击速度,程序运行时始终显示时间为500毫秒,谢谢大家帮忙usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Runtime.Intero

关于哈夫曼编码的程序运行时出错,我分析是由于cd定义出现了问题,导致后边cd[--start]出错

问题描述 关于哈夫曼编码的程序运行时出错,我分析是由于cd定义出现了问题,导致后边cd[--start]出错 void HuffmanCoding(HuffmanTree &HT,HuffmanCode &HC,int *w,int n){ //w存放n个字符的权值(均>0),构造赫夫曼树 HT,并求出n个字符的赫夫曼编码 HC printf("123"); system("pause"); int s1,s2,i,start; int f=0

文件传输-C语言中memset()如何用?下面的程序运行时为什么在文件中显示的age信息都是乱码?

问题描述 C语言中memset()如何用?下面的程序运行时为什么在文件中显示的age信息都是乱码? C语言中memset()如何用?下面的程序运行时为什么在文件中显示的age信息都是乱码? 如何改正?#include#include#define N 3 void main(){typedef struct student{ char id[6]; char name[8]; int age;}STU;FILE *fp;STU stu1[N]stu2[N];if((fp=fopen(""

iostream-请大神一看!使用tinyxml编译出来的程序运行时的错误!

问题描述 请大神一看!使用tinyxml编译出来的程序运行时的错误! 因为是新手刚学习tinyxml,所以谢了个生成xml文件的cpp试试,编译时没问题,但是程序运行时会出现:xml: malloc.c:2395: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (ol