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函数中了吗? 也许是栈信息被破坏了?
拖拽图片的代码,你可以一段一段试着注释掉,看哪些代码会引起程序运行错误。