程序debug时出现:First-chance exception in .exe (NTDLL.DLL): 0xC0000005: Access Violation.
然后转向:Disassembly中的代码:
7C938996 cmp ecx,dword ptr [edi+4] (停止在这行代码)
7C938999 jne 7C94D6C1
7C93899F cmp ecx,eax
7C9389A1 jne 7C94D6C1继续运行就有提示对话框:First-chance exception in .exe (NTDLL.DLL): 0xC0000005: Access Violation.
高手指点一下。有人说是指针没有初始化。
然后转向:Disassembly中的代码:
7C938996 cmp ecx,dword ptr [edi+4] (停止在这行代码)
7C938999 jne 7C94D6C1
7C93899F cmp ecx,eax
7C9389A1 jne 7C94D6C1继续运行就有提示对话框:First-chance exception in .exe (NTDLL.DLL): 0xC0000005: Access Violation.
高手指点一下。有人说是指针没有初始化。
然后添加了一个 button. 在 button 的 事件理,打开一个 CFileDialog.
生成 CFileDialog dlgFile(TURE);OnButton()
{
CFileDialog dlgFile(TRUE);
if(dlgFile.doModal() == IDOK)
{
/* Nothing does*/
}
}编绎完,一切 OK在 debug 方式下,点 button 打开文件对话框,选中一个文件, 点确定, 一切正常,点确定退出程序时, 就出现 First chance expection in NTDLL.dll 具体地址忘了.rebuild all 再按上面过程执行一次,情况一样,还是出错.打开 about 对话框,退出,一切正常.怀疑,是 2003 SDK 头文件引用错误导致, 按 project 中的设置全部恢复为默认值.再运行,还是错误结果.然后,卸了 VC6.0 重新按装, 再运行,还是说 ntdll.dll 出错.(这里还有个小插曲,卸了 VC6.0 后,再装时, ACMBOOT.exe 老是说有 General Protection Fault 的错误. 然后上网搜了一下,是从那个 setup 目录下,拷文件出来安装的.)重编以前跑的好好的程序,一出 CFileDialog 也是挂在这儿了, console 的是好的.实在是搞不明白了, 公司的电脑,不让上网,重装系统麻烦的不能想象.各位大侠,能不能给点指示啊.我可以单独开贴加分.谢谢了.!!!
换种模式试试看?