这是我的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文件的任何建议?
我也想生成.pdb文件
您不能:PDB file format是Microsoft专有的且没有文档,因此不能由非Microsoft工具生成。
也无法在Linux上使用PDB文件。换句话说,您可能希望生成PDB可能是由于您缺乏理解。
[请查看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之间最接近的映射。