奇怪的调试器行为

时间:2010-09-01 18:30:02

标签: visual-c++ winapi

以下代码段在调试模式(VC ++ 2005)中的行为与在Release:

中的行为不同
HANDLE hFileRead;
hFileRead = CreateFile(pszListFile,           //    lpFileName,
                       GENERIC_READ,          //    dwDesiredAccess,
                       FILE_SHARE_READ,       //    dwShareMode,
                       NULL,                  //    lpSecurityAttributes,
                       OPEN_EXISTING,         //    dwCreationDisposition,
                       FILE_ATTRIBUTE_NORMAL, //    dwFlagsAndAttributes,
                       0);                    //    hTemplateFile

在发布模式下,它可以完美运行。 在调试模式下,它在hFileRead中返回INVALID_HANDLE_VALUE。 进一步检索GetLastError()会显示系统错误3:

  

ERROR_PATH_NOT_FOUND(“系统   找不到指定的路径。“)

这很奇怪。在发布模式下,它可以找到它,但在调试模式下它找不到它?这怎么可能?

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果pszListFile包含相对路径,则可以在当前目录中存在差异。

答案 1 :(得分:0)

问题再次没有发生。放弃直至另行通知。