最近重新整理C的基础知识,于是便用起了vc++6.0调试代码,结果就遇到了如标题所属问题,之前很少用vc++6.0,所以对我来说,我算个新手吧,相信很多新手都遇到跟我也遇到过同样的问题
下面我将我分:
1.测试代码、
2.直接运行、
3.调试、
4.贴上log区原文、
5.问题分析(个人看法)、
6.解决方法
进行阐述,希望能够帮助到在看这篇文章的你[注:感兴趣的朋友可以参与1-5点进行讨论,如果单纯只想就觉这个问题,不分析这个问题的原因的朋友,可直接跳过1-5,去看6即可]
1.测试代码:
#include<stdio.h>
int main()
{
int a[5][5];
int(*p)[4];
p = a;
printf("%d,%p\n", &p[4][2] - &a[4][2], &p[4][2] - &a[4][2]);
return 0;
}
2.直接运行
没什么问题
3.调试
可在我想要调试的时候,我不打断点直接调试,就出现了以下问题
4. 贴上log区原文
Loaded 'APP01.EXE', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\kernel32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\KernelBase.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\apphelp.dll', no matching symbolic information found.
The thread 0x25CC has exited with code 0 (0x0).
The program 'D:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\Debug\2.exe' has exited with code 0 (0x0).
5.问题分析(个人看法)
[声明:以下问题分析为已解决问题,对造成这个问题的原因进行分析的,且为个人观点,如有误还希望评论区指出,感谢支持]
首先我将上述log中的翻译贴在下面
已加载“APP01.EXE”,未找到匹配的符号信息。
已加载“C:\Windows\SysWOW64\kernel32.dll”,未找到匹配的符号信息。
已加载“C:\Windows\SysWOW64\KernelBase.dll”,未找到匹配的符号信息。
已加载“C:\Windows\SysWOW64\apphelp.dll”,未找到匹配的符号信息。
线程 0x25CC 已退出,代码为 0 (0x0)。
程序“D:\Program Files (x86)\Microsoft Visual Studio\MyProjects\2\Debug\2.exe”已退出,代码为 0 (0x0)。
提示都是对应的目录下匹配不到调试的相关符号信息。举个例子:
【幼儿园,只知道第几章的那种】老师开始授课了,而小朋友并没有做过提前预习,所以小朋友并不知道老师在讲的是第几章,于是小朋友也不知道该看第几章的内容,听的云里雾里。这个时候除非老师说,同学们我们今天开始讲第几章了,于是小朋友恍然大悟。回到正题
老师授课就相当于调试,而告诉你上到了第几章就相当于给程序一个断点,小朋友就相当与上面的*.dll,小朋友匹配到了断点,也就能正常的调试代码了,否则就会报未找到匹配的符号信息
6.解决方法
故,解决上述问题的根本就是调试前先打断点,不然就会报错。