我的程序能单步不能运行

hechen004 2009-06-06 08:03:06
我的程序如下:
char* Utest::ReadCert(char DiskName)
{
char CertInformation[512]="";
char devName[] = "\\\\.\\J:";
devName[4] = DiskName;
unsigned long nBytes;
LARGE_INTEGER offset;
HANDLE hDeviceHandle = CreateFile(devName ,GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ | FILE_SHARE_WRITE,NULL,OPEN_EXISTING,0,0);
if(hDeviceHandle==INVALID_HANDLE_VALUE)
MessageBox(NULL,"证书文件读取失败","失败",MB_OK);
else{
offset.QuadPart = 20;
offset.QuadPart = offset.QuadPart*512;
SetFilePointer(hDeviceHandle,offset.LowPart,&offset.HighPart,FILE_BEGIN);
ReadFile(hDeviceHandle,CertInformation,512,&nBytes,NULL);
CloseHandle(hDeviceHandle);
}
return CertInformation;
}
通过读取磁盘的绝对扇区上的信息并返回的一个代码
但是我通过单步的话每次都能成功运行,甚至断点都不在这个代码中,但是如果直接点击执行的话却一直不能正确运行,返回的字符串不正确,我想知道可能是什么原因。而且我可以保证在硬盘的那个扇区中绝对是有对应的信息,是正常的信息,急!!!
...全文
32 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Shince 2009-06-10
  • 打赏
  • 举报
回复
同2楼,飘过
liuxufeiyang 2009-06-09
  • 打赏
  • 举报
回复
看看
oyljerry 2009-06-06
  • 打赏
  • 举报
回复
那就多增加一些MessageBox或OutputDebugString等,增加一些调试输出,看直接运行时是否有什么错误信息
oysoft 2009-06-06
  • 打赏
  • 举报
回复
可能是多线程同步或者执行时间的问题的,单步执行一步步之间时间间隔大.运行时间间隔小

2,641

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧