【100】程序在AfxInternalPumpMessage处中断提示异常是内存访问错误,求大神帮忙看一下
【100】程序在AfxInternalPumpMessage处中断提示错误是内存访问异常,求大神帮忙看一下
> mfc90d.dll!AfxInternalPumpMessage() 行183 C++
mfc90d.dll!CWinThread::PumpMessage() 行900 C++
mfc90d.dll!AfxPumpMessage() 行190 + 0xd 字节 C++
mfc90d.dll!CWnd::RunModalLoop(unsigned long dwFlags=4) 行4386 + 0x5 字节 C++
mfc90d.dll!CDialog::DoModal() 行584 + 0xc 字节 C++
ImageTesting.exe!CImageTestingApp::InitInstance() 行95 + 0xb 字节 C++
mfc90d.dll!AfxWinMain(HINSTANCE__ * hInstance=0x002e0000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00b36ab1, int nCmdShow=1) 行37 + 0xd 字节 C++
ImageTesting.exe!WinMain(HINSTANCE__ * hInstance=0x002e0000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00b36ab1, int nCmdShow=1) 行30 C++
ImageTesting.exe!__tmainCRTStartup() 行574 + 0x35 字节 C
ImageTesting.exe!WinMainCRTStartup() 行399 C
以上是调用堆栈显示的信息
------解决方案--------------------
虽然错误信息显示的是 在MFC代码里出错,但可能性不大。更有可能的原因是内存或堆被破坏,比如两次释放内存,缓冲区大小不够发生溢出。
------解决方案--------------------
Debug下调试一下,看进入到对话框类的OnInitDialog函数中了吗?
------解决方案--------------------
DoModal是阻塞调用的
InitInstance压根就没执行完
也就不存在你说的什么二次执行
------解决方案--------------------
也许是栈信息被破坏了?
拖拽图片的代码,你可以一段一段试着注释掉,看哪些代码会引起程序运行错误。
> mfc90d.dll!AfxInternalPumpMessage() 行183 C++
mfc90d.dll!CWinThread::PumpMessage() 行900 C++
mfc90d.dll!AfxPumpMessage() 行190 + 0xd 字节 C++
mfc90d.dll!CWnd::RunModalLoop(unsigned long dwFlags=4) 行4386 + 0x5 字节 C++
mfc90d.dll!CDialog::DoModal() 行584 + 0xc 字节 C++
ImageTesting.exe!CImageTestingApp::InitInstance() 行95 + 0xb 字节 C++
mfc90d.dll!AfxWinMain(HINSTANCE__ * hInstance=0x002e0000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00b36ab1, int nCmdShow=1) 行37 + 0xd 字节 C++
ImageTesting.exe!WinMain(HINSTANCE__ * hInstance=0x002e0000, HINSTANCE__ * hPrevInstance=0x00000000, char * lpCmdLine=0x00b36ab1, int nCmdShow=1) 行30 C++
ImageTesting.exe!__tmainCRTStartup() 行574 + 0x35 字节 C
ImageTesting.exe!WinMainCRTStartup() 行399 C
以上是调用堆栈显示的信息
MFC
内存
异常
------解决方案--------------------
虽然错误信息显示的是 在MFC代码里出错,但可能性不大。更有可能的原因是内存或堆被破坏,比如两次释放内存,缓冲区大小不够发生溢出。
------解决方案--------------------
Debug下调试一下,看进入到对话框类的OnInitDialog函数中了吗?
------解决方案--------------------
DoModal是阻塞调用的
InitInstance压根就没执行完
也就不存在你说的什么二次执行
------解决方案--------------------
也许是栈信息被破坏了?
拖拽图片的代码,你可以一段一段试着注释掉,看哪些代码会引起程序运行错误。