是否可以在LLVM-vs2014下在源级别进行调试?

时间:2017-02-28 03:57:59

标签: c++ visual-studio debugging clang llvm

我使用Visual Studio 2015在Windows上安装了最新的llvm。

我创建了一个C ++项目,并选择 LLVM-vs2014 作为VS 2015中的平台工具集。

我可以编译和编译输出如下:

  

------重建全部开始:项目:Cxx1zTest,配置:调试x64 ------   1 GT; Cxx1zTest.vcxproj - > d:\项目\ Cxx1zTest \ 64 \调试\ Cxx1zTest.exe   1 GT; Cxx1zTest.vcxproj - > D:\ projects \ Cxx1zTest \ x64 \ Debug \ Cxx1zTest.pdb(Full PDB)   ==========重建全部:1成功,0失败,0跳过==========

我也可以成功运行该项目。

问题是:

我无法在源代码级调试项目,因为 VC ++ 可以;虽然生成了完整的pdb。

按F5开始调试后,调试窗口输出:

  

'Cxx1zTest.exe'(Win32):已加载   'd:\项目\ QbgTestServer \ 64 \调试\ Cxx1zTest.exe'。符号已加载。   'Cxx1zTest.exe'(Win32):已加载'C:\ Windows \ System32 \ ntdll.dll'。   无法找到或打开PDB文件。 'Cxx1zTest.exe'(Win32):已加载   'C:\ WINDOWS \ SYSTEM32 \ kernel32.dll中'。无法找到或打开PDB文件。   'Cxx1zTest.exe'(Win32):加载'C:\ Windows \ System32 \ KernelBase.dll'。   无法找到或打开PDB文件。 'Cxx1zTest.exe'(Win32):已加载   'C:\ WINDOWS \ SYSTEM32 \ vcruntime140d.dll'。无法找到或打开PDB   文件。 'Cxx1zTest.exe'(Win32):已加载   'C:\ WINDOWS \ SYSTEM32 \ msvcp140d.dll'。无法找到或打开PDB文件。   'Cxx1zTest.exe'(Win32):已加载'C:\ Windows \ System32 \ ucrtbased.dll'。   无法找到或打开PDB文件。 'Cxx1zTest.exe'(Win32):已加载   'C:\ WINDOWS \ SYSTEM32 \ kernel.appcore.dll'。无法找到或打开PDB   文件。 'Cxx1zTest.exe'(Win32):已加载   'C:\ WINDOWS \ SYSTEM32 \ MSVCRT.DLL'。无法找到或打开PDB文件。   'Cxx1zTest.exe'(Win32):已加载'C:\ Windows \ System32 \ rpcrt4.dll'。   无法找到或打开PDB文件。线程0x16ec已退出   代码0(0x0)。线程0x115dc已退出,代码为0(0x0)。该   线程0x9740已退出,代码为0(0x0)。该计划'[1108]   Cxx1zTest.exe已退出,代码为0(0x0)。

根本原因是什么?

是否有解决方法来解决此问题?

1 个答案:

答案 0 :(得分:0)

根据输出窗口中的警告消息,它们是我们没有调试符号的所有系统DLL。

打开VS IDE:

转到工具 - >选项 - >调试 - >符号,请选中​​复选框" Microsoft Symbol Servers",然后Visual Studio将自动下载PDB文件。