我曾经使用GDB + Clang,我意识到我把堆栈跟踪视为理所当然。
如何让Waf在构建的可执行文件的目录中生成PDB输出?
我的配置将/Zi和/debug标志传递给编译器/链接器,但是我看到的唯一pdb文件(对于位于构建目录子目录中的几个二进制输出中的任何一个)是vc110。PDB文件在构建目录的根目录中(不,在我的构建目录的根目录中没有任何类型的可执行二进制文件)。
额外的信息可在请求-即使经过一些谷歌和其他信息查找任务,我只是不确定什么将是有用的,我把在那一刻(在,我可能需要潜入Waf代码知道什么到底要放下…)。
调试数据库仅在您请求时生成我的Visual Studio。使用python waf.py -v -v build
再次运行构建,看看Waf向vs发送了哪些开关。
link.exe
应改为/DEBUG
, cl.exe
改为/Zi
和/FS
。在wscript中使用:
def configure(ctx):
...
ctx.env.CXXFLAGS += ['/Zi', '/FS']
ctx.env.LINKFLAGS += ['/DEBUG']