积极答复者
我在windows7上面使用VC++6.0时,提示: Loaded 'ntd.dll' no matching symbolic information found

问题
-
创建了工程,win32 console application,然后选择”hello world!“样例程序。
编译,build都没问题,但是运行时提示:
Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\kernel32.dll', no matching symbolic information found.
Loaded 'C:\Windows\System32\KernelBase.dll', no matching symbolic information found.
The thread 0xE7C has exited with code 0 (0x0).
The thread 0x608 has exited with code 0 (0x0).
The thread 0x148 has exited with code 0 (0x0).
The thread 0x784 has exited with code 0 (0x0).
The program 'D:\Program Files\Microsoft Visual Studio\MyProjects\test\Debug\Test.exe' has exited with code 0 (0x0).
怎么回事呢?影响大不大?
答案
-
直观的说,如果你正确的加载了符号表文件,那么你就可以在调用堆栈上看到函数的调用层级关系。 如果没有这个,也不会给你自己的程序造成什么影响。因为你自己编写的这部分代码,Visual C++ 在编译程序时,已经为你在本地生成了符号表文件。你之所以能够断点调试你自己的程序,就是因为pdb 文件的帮助。
如果你要调整一些非常高级的错误,比如说程序运行时莫名其妙崩溃,应用程序在某些计算机上不能运行等等,那么你就需要Windows 的符号表帮忙,不过最好还要使用Windbg 工具而不是Visual Studio。
配置符号表文件可以参考:http://support.microsoft.com/kb/311503/zh-cn
- 已标记为答案 hooluupog 2010年3月29日 7:45
全部回复
-
直观的说,如果你正确的加载了符号表文件,那么你就可以在调用堆栈上看到函数的调用层级关系。 如果没有这个,也不会给你自己的程序造成什么影响。因为你自己编写的这部分代码,Visual C++ 在编译程序时,已经为你在本地生成了符号表文件。你之所以能够断点调试你自己的程序,就是因为pdb 文件的帮助。
如果你要调整一些非常高级的错误,比如说程序运行时莫名其妙崩溃,应用程序在某些计算机上不能运行等等,那么你就需要Windows 的符号表帮忙,不过最好还要使用Windbg 工具而不是Visual Studio。
配置符号表文件可以参考:http://support.microsoft.com/kb/311503/zh-cn
- 已标记为答案 hooluupog 2010年3月29日 7:45