注册 登录
编程论坛 VC++/MFC

mfc 调试问题。。。

聪儿 发布于 2012-11-12 10:39, 680 次点击

图1
只有本站会员才能查看附件,请 登录

图2
只有本站会员才能查看附件,请 登录

图3
只有本站会员才能查看附件,请 登录

图4
只有本站会员才能查看附件,请 登录

如图1所示,我的mfc文件调试时候发现错误,然后我查到的问题如下图2

但是我又查看了自己的文件夹,发现了需要的pdb文件,如图3所示:

自己调试时候 却打不开这个:图4。


这个就有点弄不明白了。到底是什么问题呢?我到底有没有那个符号文件呢?需不需要再重新下载安装?如果需要我的pdb如何而来,如果不需要我的为什么又调试不了呢?

好多问题啊,请大侠们指点一下哦,多谢啦。。

[ 本帖最后由 聪儿 于 2012-11-12 10:50 编辑 ]
6 回复
#2
yuccn2012-11-12 12:14
对于每个pe文件(exe dll sys 等),对应着有符号表的,ntdll这个是微软提供的,需要在微软的符号表目录去下载。你自己编译的程序,就要在生产pe文件时候设置输出符号表了。
vs默认是生成符号表的。一般都在对于的输出 生成文件目录里面。

也就是说,调试是时候,你自己的符号表是已经存在了的,微软的符号表需要下载。  一般的源码调试不需要微软的符号表的,用自己的符号表就可以了。



#3
聪儿2012-11-12 15:22
回复 2楼 yuccn
按照你的意思,我的应该是可以调试的啊。。

但是为什么调试不了呢。
#4
聪儿2012-11-12 19:58
回复 2楼 yuccn
还有,我的那些问题都想不明白啊。。。
头都快爆炸了。。。
#5
yuccn2012-11-16 22:11
你说不能调试 是指什么?断点下不了还是怎么?程序如果能运行起来 ,就可以调试了的。一般的初学者或者源码调试都是用开发工具(比如vs)就行了,如果没有源码 的,可以用od、 windbg之类 。能运行起来的程序都可以调试的,我不明白你说的不能调试是指什么
#6
yuccn2012-11-16 22:14
你应该是设置了下载系统dll的符号表了吧,一般不需要那些的。调试你的程序,指教用你自己的符号表就可以了。什么 kernel32.dll或者user32.dll ,ntdll.dll这些的符号表你不用管他的,我看你的第一张图片 ,就是想分析这些dll了?没有必要的。系统dll,有问题微软自己就修复了。你直接用你自己的符号表来调试你的程序 就ok了的
#7
yuccn2012-11-16 22:15
你去百度查下 怎么取消vs自动加载系统dll的符号表的方法,把它取消掉。vs默认是没有没有加载那些符号表的,估计是你的误操作设置了。
1