如何在VS2015中调试Clang静态链接库

时间:2016-07-18 03:30:34

标签: visual-studio debugging visual-studio-debugging static-linking llvm-clang

我正在使用VS2015调查Clang代码库,.sln文件由CMake生成。 我已经将解决​​方案配置为Debug/x64,我可以看到生成的.pdb文件附带了libs,但是我无法打破链接到clang可执行文件的lib代码

例如,我在clangParse模块中设置了一些断点,控制流在解析过程中必须经过这个断点,但是在打印AST之后,调试器并没有停在clangParse模块的断点上,而只是在clang模块本身设置的断点上。

对于其他一些手动创建的带有可执行文件和静态库的解决方案,我可以调试这些库。不知道为什么这对CMake生成的Clang / LLVM解决方案不起作用。

我需要在这里进行任何特殊设置吗?

1 个答案:

答案 0 :(得分:1)

问题是Clang驱动程序在Windows内部生成了一个子进程,并且所有有趣的事情都在子进程中完成,因此libs中的断点永远不会发生,因为它们处于另一个进程中。 / p>

要解决此问题,请安装Microsoft Child Process Debugging Power Tool并启用子进程调试,这会将子进程附加到调试器。