MFC List Control问题求助

wuyun0887 2011-09-30 10:24:41
做了个vc++6.0下的MFC程序。应用了Lost Control控件,利用:m_Card.InsertColumn(0,"数据",LVCFMT_LEFT,800);加了标题。再用:this->m_Card.InsertItem(0,"");this->m_Card.SetItemText(0,0,strOut);加入行及显示“strOut”中的数据。
编译通过,运行报错:应用程序发生异常 unknomn software exception(0x80000003),位置为0x7c92120e。调试出断言:user breakpoint called from cede at 0x7c92120 不能排除错误,求教!
...全文
142 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyun0887 2011-10-03
  • 打赏
  • 举报
回复
经过三天的艰苦查错,总算把问题找到了。是在变量申请时一个 unsigned char类型变量多打了个*号,变为了unsigned char*了。真是神码变浮云了!搞C++太累人了,数据类型一大堆,转过来转过去,让人直冒小星星,看资料到后来只能看C的基本部分了。。。。。苦啊!
谢谢大家了!不过也怪,List Control报错的方式也太妖孽了点,O(∩_∩)O哈!给大家提个醒。
captainliyun 2011-09-30
  • 打赏
  • 举报
回复
是否选择了REPORT模式?
wuyun0887 2011-09-30
  • 打赏
  • 举报
回复
在“m_Card.InsertColumn()”时,调用顺序为:“BOOL AFXAPI AfxAssertFailedLine(LPCSTR lpszFileName, int nLine)

BOOL bQuit = PeekMessage(&msg, NULL, WM_QUIT, WM_QUIT, PM_REMOVE);

BOOL bResult = _CrtDbgReport(_CRT_ASSERT, lpszFileName, nLine, NULL, NULL);

if (bQuit)
PostQuitMessage(msg.wParam);
return bResult;
#else
TCHAR szMessage[_MAX_PATH*2];”
在“bool bResult=.....”这句出提示:要“DBGRPT.C”。
帮分析分析
还在查 2011-09-30
  • 打赏
  • 举报
回复
是不是 strOut 数据出问题了
ysok7878 2011-09-30
  • 打赏
  • 举报
回复
设断点单步调试啊,看在哪步错了,有可能是字符串溢出了,单步调试吧
  • 打赏
  • 举报
回复
你build->clean,然后重编译下,还有前面为啥加this->?
jianuMan 2011-09-30
  • 打赏
  • 举报
回复
[Quote=引用楼主 wuyun0887 的回复:]
做了个vc++6.0下的MFC程序。应用了Lost Control控件,利用:m_Card.InsertColumn(0,"数据",LVCFMT_LEFT,800);加了标题。再用:this->m_Card.InsertItem(0,"");this->m_Card.SetItemText(0,0,strOut);加入行及显示“strOut”中的数据。
编译通过,运行报错:应用程序发生异常 un……
[/Quote]

应该是 strOut 数据有问题 可能没赋值
向立天 2011-09-30
  • 打赏
  • 举报
回复
如果看不到调用堆栈就屏蔽小部分代码
逐步定位
caddor2011 2011-09-30
  • 打赏
  • 举报
回复
贴完整代码 ,
gameslq 2011-09-30
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wuyun0887 的回复:]
call stack时,“_CrtDbgReport(int 2, const char * 0x005d34c8 THIS_FILE, int 304, const char * 0x00000000, const char * 0x00000000) line 353”就是这句要求“DBGRPT.C”的
[/Quote]
在栈回朔里找代码 “m_Card.InsertColumn”所在的函数,或者熟悉的函数名,进去看看
光凭这句_CrtDbgReport看不出来问题
Eleven 2011-09-30
  • 打赏
  • 举报
回复
Debug下call stack看看函数调用堆栈
wuyun0887 2011-09-30
  • 打赏
  • 举报
回复
call stack时,“_CrtDbgReport(int 2, const char * 0x005d34c8 THIS_FILE, int 304, const char * 0x00000000, const char * 0x00000000) line 353”就是这句要求“DBGRPT.C”的
wuyun0887 2011-09-30
  • 打赏
  • 举报
回复
选了REPORT模式了,在前面调试时说this指针没发现,所以用了this,单步调试时,7c92120e int 3,在7c921210时,弹出对话框:please enter the path for DBGRPT.C.不动了。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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