vc++6.0为什么设置断点的时候就出错?老是乱跳,不管是按f10还是f11都不按教程的步骤执行, 50
vc++6.0为什么设置断点的时候就出错?老是乱跳,不管是按f10还是f11都不按教程的步骤执行,总是跳些乱七八糟的东西出来,难到是我软件没有装好?...
vc++6.0为什么设置断点的时候就出错?老是乱跳,不管是按f10还是f11都不按教程的步骤执行,总是跳些乱七八糟的东西出来,难到是我软件没有装好?
展开
2个回答
展开全部
MS VC 6.0 应该不会有这个问题。我以前使用的就是 VC 6.0编译器,没有出现过你说的问题。你可以首先编写一个功能最简单、但是保证肯定是正确的程序(例如:最经典的在屏幕上输出字符串:Hello, World !),然后按下:ALT+B,再按 R,进行编译、链接,然后整个运行程序(先不设置什么所有断点、单步跟踪之类的),如果程序还是老乱跳,那么就有可能是你的 VC++ 编译器有问题、或者是你的WINDOWS系统有问题了;如果程序的运行结果正确,那么就是你原来的程序有隐含错误,你再仔细查看你的程序源代码。
更多追问追答
追问
设置断点的前面几步都可以的,到了执行下一步的时候就不执行了,直接跳些别的出来,
追答
虽然我没有看到你的 C 源代码,但是根据我的编程经验,给你提供调试程序的思路:(1)、首先你再仔细检查一下你的源程序中是否有数组越界的现象?
例如如下源代码:
int a[10] ;
a[10] = 30 ; /* 数组下标越界,有效的下标是:a[0] - a[9],若你引用了 a[10],那么肯定就出错了 */
(2)、如果不存在第(1)种情况,那么再仔细检查是否存在内存泄漏等现象?尤其是你在程序中定义了指针变量,那么你就更应该特别仔细检查你的指针变量是否成功分配了内存?如果你的指针变量没有成功分配内存,你就使用了指针变量,那么肯定就会出现错误的。
例如如下代码:
#include
void main( )
{
char * p ;
p = (char *)malloc(100000) ; /* 给指针 p 分配内存 */
if( p == NULL ) /* 该段代码绝对不可以缺少!!! */
{
printf("Memory allocation failure !\n");
exit(1); /* 退出系统 */
}
strcpy(p, "This is a test string\n") ; /* 内存分配成功,将字符串拷贝到指针变量 p 中 */
printf("p: %s\n", p) ; /* 输出指针变量 p 中的内容 */
free(p) ; /* 释放内存 */
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询