这是我的makefile。我还想生成.pdb文件。我已经在使用-g选项但是我没有看到任何使用.pdb扩展名创建的文件。帖子here也声明使用-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文件的任何建议吗?
答案 0 :(得分:0)
我还想生成.pdb文件
您不能:PDB file format是Microsoft专有且未记录的,因此无法由非Microsoft工具生成。
PDB文件也不能在Linux上使用。换句话说,您生成PDB的愿望很可能是由于您缺乏了解。
答案 1 :(得分:0)
请查看How do I generate symbol information to use with Linux version of Intel's VTune Amplifier?上Alexey Alexandrov的回复:
对于从事生产软件工作的任何开发人员来说,另一个有用的考虑因素是使用separate debug information files!。假定如上所述,使用“ -g”编译程序,然后使用objcopy实用程序将包含调试信息的ELF节复制到单独的文件中,并从原始二进制文件向单独的调试信息文件添加链接。这对于能够存储您发布给客户的位的调试信息非常有用,以便可以进行事后调试。当然,对于发布位的性能分析也是如此。
那是我所知道的Microsoft PDB文件和Linux之间最接近的映射。