【发布时间】:2019-11-12 18:03:03
【问题描述】:
我开始使用ispc(英特尔 SPMD 程序编译器),我能够编译和运行随分发包提供的示例。我接下来想做的是能够在 Visual Studio(或 CLion)调试器中单步执行 .ispc 文件。
根据the documentation,可以使用-g 选项指示ispc 编译器发出调试符号。我已将其添加到提供的CMakeLists.txt,但我似乎无法让 Visual Studio 真正进入 ispc 函数。
比如我这里在simple例子中设置了断点:https://github.com/ispc/ispc/blob/master/examples/simple/simple.cpp#L49
单击“进入”时,我希望 Visual Studio 能够进入该函数的定义,此处为:https://github.com/ispc/ispc/blob/master/examples/simple/simple.ispc#L35。相反,Visual Studio 会跳过并继续使用simple.cpp。
我怀疑 Visual Studio 要么找不到 ispc 编译器生成的调试符号,和/或不知道这些符号与 simple.ispc 文件相关联。
我从去年找到了this blog post,其中写道:
最新版本的 ispc (1.9.2) 支持使用 Visual Studio 进行有限调试。用布尔值检查结构似乎不起作用,本地窗口非常不确定,但或多或少有效。单步工作。分析有效,但似乎有点不确定。
所以很明显这是可能的;我只是不太了解编译器、调试器和 IDE 如何交互以实现这一点。有谁知道如何做到这一点?
使用 Visual Studio 2017 (v15.9.17) 运行 Windows 10 (v1903)
$ ispc --version
Intel(r) SPMD Program Compiler (ispc), 1.12.0 (build date Aug 15 2019, LLVM 8.0.0)
Supported Visual Studio versions: Visual Studio 2015 and later.
【问题讨论】:
标签: c++ visual-studio debugging debug-symbols ispc