今天安装了vs2010,发现用“Win 32 控制台应用程序”编写程序时,cout语句不能显示在屏幕上就直接执行完毕,在网上找了一些方法解决了这些问题,此处为大家总结一下。
(声明:内容来自网上,已实验成功)
写的第一个程序自然是经典的“hello world”,用“启动调试 F5”调试,但屏幕一闪而过,提示信息是:
“HelloWorld.exe”: 已加载“C:\Windows\System32\ntdll.dll”,Cannot find or open the PDB file
“HelloWorld.exe”: 已加载“C:\Windows\System32\kernel32.dll”,Cannot find or open the PDB file
“HelloWorld.exe”: 已加载“C:\Windows\System32\KernelBase.dll”,Cannot find or open the PDB file
“HelloWorld.exe”: 已加载“C:\Windows\System32\msvcp100d.dll”,已加载符号。
“HelloWorld.exe”: 已加载“C:\Windows\System32\msvcr100d.dll”,已加载符号。
程序“[5272] HelloWorld.exe: 本机”已退出,返回值为 0 (0x0)。
原因:
程序输出的地方是系统而不是vs2010。你所点的按钮(或者按快捷键F5)的结果是启动调试。你所想要执行的命令是开始执行(不调试)。
我先用的是这个办法:
这是vs2010高级版的截图,熟悉吧,你随便写一个helloworld就会出现这个Cannot find or open the PDB file,就是找不到什么问题。
这样解决:工具--》选项--》》调试--》符号
接下来就是选择Microsoft,然后确认,重新编写一个程序,什么也可以,看看是不是好了?你没有发现编译很慢?
看到此目录下符号缓存了吗?找到这个目录拷贝出来,找个地方存放。接下来就是去掉Microsoft符号服务器,要是不去,每次都要从Microsoft下载很麻烦,已经缓存了,我们就可以利用好这些缓存,至此完美解决。
按照步骤操作完之后,虽然“Cannot find or open the PDB file”的问题解决了,但还是窗口一闪而过,于是找了下面的办法:
运行按:Ctrl+F5
(根本原因:程序输出的地方是系统而不是vs2010。你所点的按钮(或者按快捷键F5)的结果是启动调试。你所想要执行的命令是开始执行(不调试)。
解决办法1:直接按Ctrl + F5即可。
解决办法2:添加工具栏。步骤如下:
1). 双击工具栏上的空白区域,会跳出自定义工具栏窗口。到命令页找到工具栏->生成,查看里面的命令,至少包括“开始执行(不调试)”,“生成选定内容”,“生成解决方案”三项,如果缺少的话,点击右面的添加命令->调试里添加。
2). 在工具栏页勾选“生成”。以后直接点击工具栏上刚添加的“开始执行(不调试)”按钮就行了。)
②设置断点:在程序最后一个语句设置一个断点,那么运行到最后命令符就不会消失了。
③在程序执行完毕之前添加语句:system("pause");(来自:百度知道)
这个方法可能会根据程序的不同有所影响。比如对线程进行编程时,可能导致结果不一致。
至此,问题完美解决。希望对大家有帮助。