新手求分析debug assertion failed

zxczxcvvvvv 2013-07-03 09:14:23


运行MFC程序的时候出了这个问题,但是水平实在有限,不知为何。
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
www_adintr_com 2013-07-04
  • 打赏
  • 举报
回复
pDlg 这个变量 new 了吗? Create 了吗?
赵4老师 2013-07-04
  • 打赏
  • 举报
回复
崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处。 判断是否越界访问,可以在数组的最后一个元素之后对应的地址处设置数据读写断点。如果该地址对应其它变量干扰判断,可将数组多声明一个元素,并设置数据读写断点在该多出元素对应的地址上。
#include <time.h>
#include <stdlib.h>
#include <windows.h>
int main() {
    int a,b[11];//本来是b[10],为判断哪句越界,故意声明为b[11]

    srand((unsigned int)time(NULL));//按两次F11,等黄色右箭头指向本行时,调试、新建断点、新建数据断点,地址:&b[10],字节计数:4,确定。
    while (1) {//按F5,会停在下面某句,此时a的值为10,b[10]已经被修改为对应0..4之一。
        b[(a=rand()%11)]=0;
        Sleep(100);
        b[(a=rand()%11)]=1;
        Sleep(100);
        b[(a=rand()%11)]=2;
        Sleep(100);
        b[(a=rand()%11)]=3;
        Sleep(100);
        b[(a=rand()%11)]=4;
        Sleep(100);
    }
    return 0;
}
漫步者、 2013-07-03
  • 打赏
  • 举报
回复
引用 3 楼 zxczxcvvvvv 的回复:
[quote=引用 2 楼 ganpengjin1 的回复:] 你的指针悬空了
野指针会不会有这个问题?[/quote] 会的,你自己debug call back再仔细找找
zxczxcvvvvv 2013-07-03
  • 打赏
  • 举报
回复
引用 2 楼 ganpengjin1 的回复:
你的指针悬空了
野指针会不会有这个问题?
漫步者、 2013-07-03
  • 打赏
  • 举报
回复
你的指针悬空了
zxczxcvvvvv 2013-07-03
  • 打赏
  • 举报
回复
up。求帮助..

64,281

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧