英文:
"Cannot find or open the PDB file." for Qt6 commercial release debug symbol files
问题
I'm here to provide the translation:
"我正在尝试调试我的项目。我正在使用Visual Studio 2022和Qt 4.6.2商业版。我想要进入Qt库的代码,但无法做到,因为
> 找不到或无法打开PDB文件。
我已经仔细检查了从Qt下载的内容是否匹配(它们的MD5文件与我下载的内容一致)。
我检查了用于调试Qt Core DLL的dll和pdb签名:
dumpbin.exe Qt6Cored.dll
中有以下行:
> 调试目录
>
> 时间 类型 大小 RVA 指针
> -------- ------- -------- -------- --------
> 6397073D cv 44 00C6B300 C69B00 格式:RSDS,{B713CCD9-B63E-45B8-BAB2-1165E50F2E75},1,
> C:\Users\qt\work\qt\qtbase\bin\Qt6Cored.pdb
> 6397073D feat 14 00C6B344 C69B44 计数:Pre-VC++ 11.00=0,C/C++=305,/GS=305,/sdl=0,guardN=50
dbh.exe Qt6Cored.pdb info
给出以下行:
PdbSig70:0xb8de71e0,0xe814,0x4e1c,0xbc,0x37,0xb8,0xc1,0x4a,0xe8,0x94,0xde
格式化两个ID后,您可以看到不匹配:
B713CCD9B63E45B8BAB21165E50F2E75(dll)
B8DE71E0E8144E1CBC37B8C14AE894DE(pdb)
我们已经联系了Qt,他们说:“这在2019年的版本中似乎正常工作”。
还有其他人遇到这个问题吗?还是我在分析中做错了什么?如果有人有解决方法/黑客方法(除了重新构建Qt自己),请告诉我。
我也创建了QTBUG-112989。"
英文:
I'm trying to debug my project. I'm using Visual Studio 2022 and Qt 4.6.2 Commercial. I'd like to step into Qt library code, but cannot because
> Cannot find or open the PDB file.
I've double checked what I've downloaded from Qt matches (their MD5 file agree with what I downloaded).
I inspected the dll and pdb signatures for the debug Qt Core DLL:
dumpbin.exe Qt6Cored.dll
has the lines:
> Debug Directories
>
> Time Type Size RVA Pointer
> -------- ------- -------- -------- --------
> 6397073D cv 44 00C6B300 C69B00 Format: RSDS, {B713CCD9-B63E-45B8-BAB2-1165E50F2E75}, 1,
> C:\Users\qt\work\qt\qtbase\bin\Qt6Cored.pdb
> 6397073D feat 14 00C6B344 C69B44 Counts: Pre-VC++ 11.00=0, C/C++=305, /GS=305, /sdl=0, guardN=50
dbh.exe Qt6Cored.pdb info
gives the line:
PdbSig70 : 0xb8de71e0, 0xe814, 0x4e1c, 0xbc, 0x37, 0xb8, 0xc1, 0x4a, 0xe8, 0x94, 0xde
After formatting both IDs, you see the mismatch:
B713CCD9B63E45B8BAB21165E50F2E75 (dll)
B8DE71E0E8144E1CBC37B8C14AE894DE (pdb)
We have contacted Qt and they said "This seems working here with 2019".
Is anyone else seeing this issue? Or did I do something wrong with my analysis? Also, if someone has a workaround/hack (other than rebuilding Qt ourselves), let me know.
I created QTBUG-112989 as well.
答案1
得分: 1
Qt回复我们了 - 这是与可下载的离线安装程序/PDB文件有关的问题。使用在线安装程序对于Qt 6.4.3,DLL和PDB文件是匹配的。示例:
Qt6Core.dll EA4BB91BFEB8405EB812141B301B1B191
Qt6Core.pdb EA4BB91BFEB8405EB812141B301B1B191
英文:
Qt got back to us - and it is a problem with the offline installers/PDB files available for download. Using the online installers for Qt 6.4.3, the DLLs and PDB files match. Example:
Qt6Core.dll EA4BB91BFEB8405EB812141B301B1B191
Qt6Core.pdb EA4BB91BFEB8405EB812141B301B1B191
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论