hur.cn - 华软网

 热门搜索

debug assertion failed

  作者:未知    来源:网络    更新时间:2011/6/1
vc6调试程序跳出此框,file:afxwin1.inl,line : 22
---华软 网友回答---
C++">_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResourceHandle()
{ ASSERT(afxCurrentResourceHandle != NULL);
return afxCurrentResourceHandle; }

Debug下call stack看看调用堆栈,找到出错的代码行,贴出来看看
---华软网友回复---
(call stack unavailable while child is running)
错误窗口有三个选项供我选 :中止,重试,忽略。都不能用。
---华软网友回复---
打开 fxwin1.inl 看看第22行怎么回事

---华软网友回复---
在DEBUG下点一下重试,然后看下堆栈窗口里,你的工程哪一段代码出问题了
---华软网友回复---
AfxGetResourceHandle() line 22 + 33 bytes
AfxFindResourceHandle(const char * 0x00000080, const char * 0x0000000e) line 238 + 5 bytes
CWinApp::LoadIconA(unsigned int 128) line 994 + 26 bytes
CCh14Demo3ClientDlg::CCh14Demo3ClientDlg(CWnd * 0x00000000) line 288 + 17 bytes
$E321() line 227 + 36 bytes
$E324() + 29 bytes
_initterm(void (void)* * 0x0042d25c $S325, void (void)* * 0x0042d390 ___xc_z) line 525
WinMainCRTStartup() line 274 + 15 bytes
KERNEL32! 7c817077()

fxwin1.inl文件在哪里啊?我打不开,找不到。
下面是别人的帖子里的东西,我想应该是差不多的:
在dll里用了个csocket,调试了好久,怎么看怎么没用错,同样的代码在mfc程序里也没错。网上搜了半天也没有结果。差点崩溃。不知道搜了多久,结果居然是:

“因为CSocket用到一个窗体(WSAAsyncSelect),而该窗体用的是主线程的消息循环,且该窗体没有父窗体和子窗体。       
   而创建一个窗体需要一个HINSTANCE还有一个消息循环,在dll中应该用的是Dllmain的HINSTANCE,然后再创建一个线程作为消息循环,而CSocket用的却是WinMain的HINSTANCE,和主消息循环。    ”      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。