【问题标题】:Is it possible to debug in source-level under LLVM-vs2014?是否可以在 LLVM-vs2014 下进行源代码级调试?
【发布时间】:2023-03-16 20:46:02
【问题描述】:

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

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

我可以编译,编译器输出如下:

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

我也可以成功运行项目。

问题是:

我无法像 VC++ 那样在源代码级别调试项目;虽然生成了完整的 pdb。

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

'Cxx1zTest.exe' (Win32): 已加载 'D:\projects\QbgTestServer\x64\Debug\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)。

根本原因是什么?

有没有办法解决这个问题?

【问题讨论】:

  • 为什么不能?
  • 可能是一些路径问题:D:\projects\Cxx1zTest\x64\Debug\Cxx1zTest.pdbD:\projects\QbgTestServer\x64\Debug\Cxx1zTest.exe。确保您已正确设置符号目录。

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


【解决方案1】:

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

打开你的 VS IDE:

进入Tools->Options->Debugging->Symbols,请勾选“Microsoft Symbol Servers”,然后Visual Studio会自动下载PDB文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-16
    • 2019-11-10
    • 1970-01-01
    • 2015-07-25
    • 1970-01-01
    • 2017-04-12
    • 2017-01-08
    • 1970-01-01
    相关资源
    最近更新 更多