繁体   English   中英

Visual Studio 调用堆栈窗口不显示文件名

[英]visual studio call stack windows does not display filename

我在 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++
...

由于我对中央源文件和项目特定源文件之间的区别特别感兴趣,因此我想查看文件名中的整个路径。

您可以停止寻找,该选项根本不可用。

很难猜到为什么微软决定不提供它,但它是唯一模棱两可的调试信息。 软件工程师每天都需要处理的事情,他们调试的程序通常是从不在同一目录中的源代码构建在构建服务器上的。

我想浏览自己的文件,而无需打开所有包含的单个中央文件...

这不是必需的,只需双击堆栈跟踪中您感兴趣的特定条目。如果调试器知道源文件,那么它将自动打开并将插入符号定位在语句处。 悬停在编辑器选项卡上会显示文件的路径。 如果调试器找不到源文件,那么您将看到一个对话框以导航到正确的目录。

据我所知,没有这样的选项(在任何版本的 Visual Studio 中)。 您唯一能做的就是右键单击调用堆栈并按转到源文件。 然后你会看到源代码,希望你能知道它是哪个版本的文件。 据我所知,您要完成的工作也没有插件。

右键单击调用堆栈并按转到源文件

“使用源路径复制”上下文菜单选项存在于 VS17 (15.9.45)、VS19 (16.11.11) 和 VS22 中。 不幸的是,命令窗口中没有记录的选项

使用源路径 Visual Studio 调用堆栈复制

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM