我在VSCode中使用CMake构建了一个调试环境。在Visual Studio中使用相同的CMake可以正常运行带有断点的调试。但是,在VSCode中,CallStack的目标源文件不正常。
源文件的位置如下所示。
第一个月
下面显示的是Windows NT控制台中的输出。
Thread 1 "Renderer_Tester" hit Breakpoint 2, main () at C:/Workspace/CPU_Raytracing/main.cpp:7
7 in C:/Workspace/CPU_Raytracing/main.cpp
字符串
但是,通过复制调用堆栈从调用堆栈获得的路径如下所示。main() (c:\Workspace\CPU_Raytracing\build\C\Workspace\CPU_Raytracing\main.cpp:7)
个
有人有解决这种情况的办法吗?
先谢了。
清除CMake的缓存,或删除buildfolder并重新启动它也是如此。
在Visual Studio中,在CMake项目中使用断点运行良好。
理想的结果是,当从VSCode通过CMake进行调试时,它会在断点处停止并指向相应的源码。
1条答案
按热度按时间h6my8fg21#
已解决。
问题是,我试图通过修改tasks.json、launch.json和c_cpp_properties.json中的选项来修复这种情况,就像其他调试方法(而不是cmake)一样。
在settings.json中设置“cmake.debugConfig”解决了这个问题。
以下是我使用的选项
字符集