undname.exe是安装sdk时附带的一个小工具,这个工具在调试时可以发挥很大的作用。我们知道c++在编译代码时,会对函数名进行变换,称为C++ decorated name,undname.exe的作用就是为我们还原函数签名。当我们release一个程序后,出现崩溃时,我们只能从map中分析是哪一个函数出的问题,有了undname.exe就可以迅速的找到函数了。
举个例子,比如说通过map文件,找到崩溃的函数为?InitInstance@@YAHPAUHINSTANCE__@@H@Z,我们可以通过命令行:
undname.exe ?InitInstance@@YAHPAUHINSTANCE__@@H@Z
举个例子,比如说通过map文件,找到崩溃的函数为?InitInstance@@YAHPAUHINSTANCE__@@H@Z,我们可以通过命令行:
undname.exe ?InitInstance@@YAHPAUHINSTANCE__@@H@Z
得到函数声明为:int __cdecl InitInstance(struct HINSTANCE__ *,int),这样当类中有重载函数时,就可以确切的知道是哪一个函数出了问题。
原文地址:http://hi.baidu.com/lming_08/item/e470f8fb250b9ac6521c2679