使用linux和g++生成pdb文件

Generate pdb files with linux and g++

本文关键字:pdb 文件 生成 g++ linux 使用      更新时间:2023-10-16

这是我的makefile。我还想生成.pdb文件。我已经使用了-g选项,但是我没有看到任何扩展名为.pdb的文件。这里的帖子还声明使用-g选项。

CXX = g++
CXXFLAGS = -Wall -g

all: comment 
     test

comment:
    @echo ------Starting Build Process-----------------

test:  main.o car.o student.o   house.o 
    $(CXX) $(CXXFLAGS) -o test main.o car.o student.o house.o
main.o: student.h house.h    main.cpp
    $(CXX) $(CXXFLAGS) -c main.cpp
car.o: car.h
student.o: student.h car.h
house.o: house.h 
clean:
    rm -rf *.o test

关于如何生成pdb文件,有什么建议吗?

我也想生成.pdb文件

你不能:PDB文件格式是微软专有的,没有文档,因此不能由非微软工具生成。

PDB文件在Linux上也不可用。换句话说,你想要生成PDB可能是因为你缺乏理解。

请查看Alexey Alexandrov在How do I generate symbol information to use with Linux version of Intel';VTune放大器?:

对于任何开发生产软件的开发人员来说,另一个有用的考虑因素是使用单独的调试信息文件!。这假设如上所述使用"-g"编译程序,然后使用objcopy实用程序将包含调试信息的ELF部分复制到一个单独的文件中,并添加从原始二进制文件到单独调试信息文件的链接。这对于存储您向客户发布的位的调试信息非常有用,这样就可以进行事后调试。当然,对于发布位的性能评测也是如此

据我所知,这是微软PDB文件和Linux之间最接近的映射。