3

我曾经使用 GDB + Clang,我意识到我有多么认为堆栈跟踪是理所当然的。

Waf 如何在构建的可执行文件的目录中生成 PDB 输出?

我的配置将 /Zi 和 /debug 标志传递给编译器/链接器,但我看到的唯一 pdb 文件(对于位于我的构建目录的子目录中的几个二进制输出中的任何一个)是根目录中的 vc110.pdb 文件构建目录(不,我的构建目录的根目录中没有任何类型的可执行二进制文件)。

可根据要求提供额外信息 - 即使在进行了一些谷歌搜索和其他信息查找任务之后,我只是不确定现在放下什么对我有用(例如,我可能需要深入研究 Waf 代码知道该放下什么……)。

4

1 回答 1

1

The debugging database is only generated my Visual Studio if you request it. Run the build again with python waf.py -v -v build to see what switches Waf sends to VS.

link.exe should be given /DEBUG and to cl.exe /Zi and /FS. You set them in your wscript using:

def configure(ctx):
    ...
    ctx.env.CXXFLAGS += ['/Zi', '/FS']
    ctx.env.LINKFLAGS += ['/DEBUG'] 
于 2015-09-04T12:24:14.573 回答