试图调试简单代码时,源代码不可用
Source Not Available while trying to debug simple code
在调试时,如果(且仅当)我在我的节点析构函数中有一个断点,我得到这个屏幕说:
源不可用
此模块的调试信息中缺少源信息。您可以在"拆卸"窗口中查看拆卸情况。要始终查看丢失源文件的反汇编,请更改选项对话框中的设置。
(这是整个屏幕的图片)
我在网上到处看,我发现的唯一"解决方案"是移动断点,这不是一个真正的解决方案,我能做些什么来解决这个问题?谢谢。
(Windows 8.1, Visual Studio 2013)
下面是析构函数的代码,在屏幕出现前一步:
MatchmakingAgency::Node::~Node(){
cout << "Deleting: ";
getClient()->printName();
cout << endl;
if (next){
delete next;
}
}
正如注释中所写的那样,您将进入标量帮助析构函数(Visual Studio为析构函数设置的辅助函数)。您也可以从调用堆栈中看到这一点。
使用Shift+F11可以直接进入析构函数的代码。
关于为什么会发生这种情况,可能是Visual Studio破坏了helper函数(故障?)或者您在实际析构函数代码执行之前进入了该函数。
如果这让你感到困扰,你也可以看看断点宏,看看它是否有帮助(如果在析构函数的第一行设置断点没有帮助,请尝试跳过标量删除析构函数)
您可以显示堆栈窗口(Debug -> Windows ->调用堆栈或Ctrl+Alt+C在Visual Studio 2013中),然后双击代码中的堆栈框架,查看代码中的中断发生的位置。
相关文章:
- 使用dll源代码C++调试dll文件
- 在Linux Mint 19下,从哪里提取wxWidgets的源代码(.cpp文件)用于步骤内部调试
- 是否可以检索与柯南包管理器一起打包的库的源代码,以便在其中进行调试?
- 如何调试Visual Studio 2015中的现有C 源代码
- C++ ATIOGLXX.pdb 包含查找模块 ATIOGLXX.dll 源代码所需的调试信息
- 如何使用Android Studio 2.2.3调试外部本机库的C 源代码
- 在 GDB 中调试生成的代码时显示原始源代码
- 当源代码证明调试变量为NULL时,调试变量如何为NULL
- 逐步介绍源代码的线路导致Visual Studio调试器退出
- 在Xcode中,介绍如何使用具有源代码的外部库进行调试
- SDL 项目的调试错误"没有可用于 main() 的源代码"
- 是否可以在其他调试器(如ollydbg、windbg)中使用源代码调试vc发布程序
- windBG源代码调试,在局部变量窗口中看不到局部变量
- 使用 gdb 为 C 模块进行 Python 源代码调试
- 调试核心转储时的源代码行
- 您通常在哪里安装从源代码构建的库的调试版本
- 在没有源代码的情况下使用gdb进行调试
- 如何仅在调试模式下编译一段源代码
- 如何避免在Visual Studio中调试到Boost源代码中
- 编辑C++/程序集调试器的源代码以包含其他程序集信息