阅读:1432回复:7
这段简单的程序有什么错啊,为什么执行不了?
我现在是在驱动程序里用到字符串操作,应该是很简单,但是我就是搞不定,救救我!!
NDIS_STATUS eMRefreshList(char* m_buf) { char* pResult; int NPos = 0; int OPos = 0; char m_strBackUp[2000]; char m_strSection[200]; int index = 0; int Length = 0; int i=0; int NSectionPos=0; int OSectionPos=0; strcpy(m_strBackUp,m_buf); pResult = strchr(m_strBackUp,\';\'); if(pResult==NULL){ //注:程序每次都此都进入到这里,但是却不是立即返回,继续执行下面程序 return NDIS_STATUS_SUCCESS; } DbgPrint(\"have find the \';\' \"); NPos = pResult - m_strBackUp + 1; OPos = 0; while(NPos>0&&index<10){ for(i=0;i<NPos-OPos-1;i++){ m_strSection=*(m_strBackUp+OPos+i); } //执行完这里后,程序却立即返回了,奇怪!!!! OSectionPos = 0; NSectionPos = 0; pResult = strchr(&m_strSection[NSectionPos],\',\'); NSectionPos = pResult - m_strSection + 1; for(i=0;i<NSectionPos-OSectionPos-1;i++){ FilterList[index].KeyCode=*(m_strSection+OSectionPos+i); } OSectionPos = NSectionPos; index += 1; OPos = NPos ; pResult = strchr(&m_strBackUp[OPos],\';\'); NPos = pResult - m_strBackUp + 1; } return NDIS_STATUS_SUCCESS; } |
|
沙发#
发布于:2002-05-31 15:29
问题比较奇怪!
|
|
|
板凳#
发布于:2002-05-31 16:24
问题比较奇怪! 问题一点都不奇怪,多半是他的符号表和实际driver 不一致。 |
|
|
地板#
发布于:2002-06-03 09:56
楼上的,什么意思啊,不懂,说得明白些,谢谢
|
|
地下室#
发布于:2002-06-03 11:02
斑竹意思是是因为你在修改的代码之后没有重新TRANSLATE和LOADS
|
|
5楼#
发布于:2002-06-03 13:15
我每次都是build -c、卸载驱动,重启、TRANSLATE和LOADS
启动softice、设断点,安装驱动,然后调试啊,应该没有错吧 |
|
6楼#
发布于:2002-06-03 13:18
我发现一个奇怪的现象,在softice里有些语句没有办法设断点,而且也不会执行,直接跳过,这是为什么?
|
|
7楼#
发布于:2002-06-03 20:14
斑竹意思是是因为你在修改的代码之后没有重新TRANSLATE和LOADS 还是也! |
|
|