codeblocks调试:debug版出现错误,release版可以正常运行
来源:互联网 发布:出名的网络暴力事件 编辑:程序博客网 时间:2024/06/07 20:26
编程新手遇到新问题:
在调试一个程序时,遇到一个怪问题,release版可以正常运行,而debug版出现错误提示:
Program received signal SIGSEGV,Segmention fault.
网络上找到sigsegv的含义,
具体到代码,
SIGSEGV是当一个进程执行了一个无效的内存引用,或发生段错误时发送给它的信号。SIGSEGV的符号常量在头文件signal.h中定义。因为在不同平台上,信号数字可能变化,因此符号信号名被使用。通常,它是信号#11。
我的程序里执行了无效的内存引用。
具体到代码如下,
switch (g_nSence) { case 0: for(int h; h<=5; h++) { if(PtInRect(&rt[h],pt)&&g_bMoveOn[h])//bool MoveOn[]确定每个按钮的状态 { SelectObject(mdc,btn2_bmp); BitBlt(hdc,rtx,rty+36*h,112,36,mdc,0,36*h,SRCCOPY); g_pMscBtn->Play(g_iVolume2); g_bMoveOn[h]=false; } else if(!PtInRect(&rt[h],pt)) { SelectObject(mdc,btn1_bmp); BitBlt(hdc,rtx,rty+36*h,112,36,mdc,0,36*h,SRCCOPY); g_bMoveOn[h]=true; } } break;
以上代码错在for循环中,变量int h没有初始化,导致了无效的内存引用。
改正后,错误消除。
阅读全文
1 0
- codeblocks调试:debug版出现错误,release版可以正常运行
- DEBUG后可以正常运行,RELEASE后出现异常错误
- debug正常, Release 出现错误
- debug版程序运行正常,release版程序运行出错
- vc中debug版程序正常但release版错误
- vs下debug运行正常,release下出现异常
- Debug正常 而Release模式错误问题调试(转载)
- Debug正常 而Release模式错误问题调试(转载
- 【语言-C++】调试运行(在vs)Debug和Release 、以及独立运行Debug无错误,独立运行Release却出现崩溃
- 关于Debug版正常运行,release版运行崩溃的问题
- DEBUG版正常,RELEASE版崩溃
- Debug版运行正常而Release版出错的原因和解决方法
- 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行(转)
- 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行
- 为什么VC中DEBUG版本可以正常运行的程序有时无法在RELEASE版本下正常运行
- debug运行正常,release报错
- 在debug版本运行正常但在release版本下运行错误!
- Debug 运行正常,Release版本不能正常运行
- 基于TCP/IP的实现
- java的jdk部署错误问题解决
- POJ 2398 Toy Storage 笔记
- Maven入门之环境安装
- android框架:Retrofit + RxJava2.0 + Lambda
- codeblocks调试:debug版出现错误,release版可以正常运行
- 代码获取渠道名
- [MySQL]Row size too large错误
- 正向代理和nginx的反向代理
- 【0048】SQL数据定义语言--索引
- Linux发展史
- Linux目录结构与Windows对比
- CLI操作的录制和回放
- Linux文件系统和inode