我正在 Visual Studio 中调试程序,我想知道为什么我的程序会传递到特定单元(源代码文件)中的函数旁边。
我以为调用堆栈会显示这一点,但事实似乎并非如此。此外,可显示条目列表甚至没有提及文件名:
- 显示模块名称
- 显示参数类型
- 显示参数名称
- 显示参数值
- 显示行号
- 显示字节偏移量
=> 没有“显示文件名”,尽管“显示行号”的存在意味着应该知道文件名。
我正在使用适用于 Windows 桌面的 Visual Studio Professional 2017。
这是配置问题吗?我的 Visual Studio 安装中是否不存在此问题(如果是,哪个版本具有此功能),或者 Visual Studio 中根本没有预见到此问题?
为了更好地理解,我的调用堆栈如下所示:
<product>.dll!<first_class>::<first_class>(double dFy, double dFx) Line 102 C++
<product>.dll!<subfunction>(double dFv, double dFh) Line 1450 C++
<product>.dll!<subsubfunction>(double dFv, double dFh, int number) Line 1672 C++
...
虽然我想看到类似的东西:
<product>.dll!<first_class>::<first_class>(double dFy, double dFx) File <file1.c> Line 102 C++
<product>.dll!<subfunction>(double dFv, double dFh) File <file2.c> Line 1450 C++
<product>.dll!<subsubfunction>(double dFv, double dFh, int number) File <file2.c> Line 1672 C++
...
由于我对中心源文件和项目特定源文件之间的差异特别感兴趣,因此我希望看到文件名中的完整路径。