hur.cn - 华软网

 热门搜索

MFC List Control问题求助

  作者:未知    来源:网络    更新时间:2011/9/30
做了个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  不能排除错误,求教!
---华软 网友回答---
你build->clean,然后重编译下,还有前面为啥加this->?
---华软网友回复---
设断点单步调试啊,看在哪步错了,有可能是字符串溢出了,单步调试吧
---华软网友回复---
是不是 strOut 数据出问题了
---华软网友回复---
是否选择了REPORT模式?
---华软网友回复---
选了REPORT模式了,在前面调试时说this指针没发现,所以用了this,单步调试时,7c92120e int 3,在7c921210时,弹出对话框:please enter the path for DBGRPT.C.不动了。
---华软网友回复---
call stack时,“_CrtDbgReport(int 2, const char * 0x005d34c8 THIS_FILE, int 304, const char * 0x00000000, const char * 0x00000000) line 353”就是这句要求“DBGRPT.C”的
---华软网友回复---
Debug下call stack看看函数调用堆栈
---华软网友回复---
引用 6 楼 wuyun0887 的回复:
call stack时,“_CrtDbgReport(int 2, const char * 0x005d34c8 THIS_FILE, int 304, const char * 0x00000000, const char * 0x00000000) line 353”就是这句要求“DBGRPT.C”的

在栈回朔里找代码 “m_Card.InsertColumn”所在的函数,或者熟悉的函数名,进去看看
光凭这句_CrtDbgReport看不出来问题
---华软网友回复---
贴完整代码 ,  
---华软网友回复---
如果看不到调用堆栈就屏蔽小部分代码
逐步定位
---华软网友回复---
引用楼主 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……


应该是 strOut 数据有问题  可能没赋值
---华软网友回复---
在“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”。
帮分析分析
---华软网友回复---
经过三天的艰苦查错,总算把问题找到了。是在变量申请时一个 unsigned char类型变量多打了个*号,变为了unsigned char*了。真是神码变浮云了!搞C++太累人了,数据类型一大堆,转过来转过去,让人直冒小星星,看资料到后来只能看C的基本部分了。。。。。苦啊!
 谢谢大家了!不过也怪,List Control报错的方式也太妖孽了点,O(∩_∩)O哈!给大家提个醒。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。