Open Zero-Tang opened 1 year ago
It's hard to say without further information. I suspect the executable and the debug information are quite large for qemu. Can you provide an example? Can you reduce it to something managable?
Maybe cvdump.exe from https://github.com/microsoft/microsoft-pdb/tree/master/cvdump can detect inaccuracies in the resulting PDB file.
I don't think I saw inaccuracies from cvdump. It seems cvdump has similar functionality to dia2dump. Anyway, here is an example. qemu-system-x86_64.2.zip Symbols can be dumped by cvdump and dia2dump (and I guess that's accurate because I can see my added functions), but ida and windbg just can't load them.
I can load your pdb in an ancient version of IDA, but the latest one reports:
PDB: using PDBIDA provider
PDB: loading C:\tmp\qemu\qemu-system-x86_64.2.pdb
PDB: There is no IPI stream
PDB: loaded 13092 types
PDB: total 0 symbols loaded for "C:\tmp\qemu\qemu-system-x86_64.2.pdb"
So type info seems to be ok, but symbols are not loaded, maybe because an "IPI stream" is missing. No idea what this is, but there is a small disabled code segment at https://github.com/rainers/cv2pdb/blob/master/src/cv2pdb.cpp#L189 that might create it (but leave empty). Maybe try enabling these lines.
No it didn't work. I probably have to find another way to get a usable pdb.
qemu-system-x86_64.zip In case you need a sample, I post the QEMU with dwarf symbols here.
I'm working with QEMU. I added
--enable-debug
and--enable-debug-info
options in configuring the QEMU maker. Aftercv2pdb
extracted a PDB file, neither IDA nor WinDbg can obtain debug symbol from it. This PDB file must be weird because DIA2Dump can see all symbol information.