应该.pdb和.exe文件在同一个文件夹中并且具有相同的名称

时间:2013-11-25 08:33:01

标签: visual-studio-2010

“” “” “” “” “” “” “” “” “”

0x000000004007537B(文件和行号不可用):MILI2Service.exe!(函数名不可用)     0x000000004009E4B6(文件和行号不可用):MILI2Service.exe!(函数名不可用)     0x000000004009C3B9(文件和行号不可用):MILI2Service.exe!(函数名不可用)     0x0000000040105D9B(文件和行号不可用):MILI2Service.exe!(函数名不可用)     0x0000000040106496(文件和行号不可用):MILI2Service.exe!(函数名不可用)     0x000000003990BAA1(文件和行号不可用):sechost.dll!QueryServiceDynamicInformation + 0x1C1 bytes     0x000000003A5B167E(文件和行号不可用):KERNEL32.DLL!BaseThreadInitThunk + 0x1A bytes     0x000000003AD6C3F1(文件和行号不可用):ntdll.dll!RtlUserThreadStart + 0x21 bytes   数据:     A0 47 6F 01 00 00 00 00 20 4F 6F 01 00 00 00 00.Go .......Oo .....     00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 ........ ........     10 00 00 00 00 00 00 00 7F 4B 00 00 FD FD FD FD ........ K ......     01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........ ........     FD FD FD FD ........ ........

Visual Leak Detector检测到71个内存泄漏(14423个字节)。 使用的最大数量:2809845字节。 总分配:275235091字节。 Visual Leak Detector现已退出。 程序'[0xB0] MILI2Service.exe:Native'已退出,代码为0(0x0)。

“” “” “” “” “” “” “” “” “” “” “” “” “” “” “”“

上面的输出可以验证。我已将Generate Debug info设置为Yes(Project-> properties-> linker-> debugging)。这个应用程序在不同的windows机器上运行(windows server 2012)和iam调试使用Visual Leak检测器的代码,即windows 7.am'中的项目源代码我错过了什么......

创建我的可执行文件(target2.exe)后,我创建了pdb文件(target.pdb)。这些文件是在不同的文件夹中创建的。但我可以看到(文件和行号不可用)和(功能名称不可用)洪水。那个.exe和.pdb应该有相同的名字吗?它们是否应存在于同一文件夹中。

2 个答案:

答案 0 :(得分:0)

如果要调试项目源代码之外的代码,例如项目调用的Windows或第三方代码,则必须指定.pdb的位置(以及可选的外部代码的源文件)这些文件需要与可执行文件的构建完全匹配。

答案 1 :(得分:0)

  

.exe和.pdb是否应该具有相同的名称?

是的,请使用相同的名称。

  

它们是否应存在于同一文件夹中。

这取决于您的IDE环境,在Windbg和Visual sutdio中,您可能会找到一些设置符号文件路径的位置。

我想你正在使用visual studio 2010,我的工具是Visual Studio 2008,在“工具” - >“选项”中,你会发现在“调试”选项卡中,有“符号”,你可以在其中设置符号文件路径,您还可以从Microsoft符号服务器下载M $ exe文件的公共符号。我认为Visual Studio 2010也有这个功能,你可以查一下。