On Thu, May 17, 2018 at 12:28:00PM +0100, Graham Bloice wrote: > On Thu, 17 May 2018 at 11:52, Peter Wu <pe...@lekensteyn.nl> wrote: > > > Hi, > > > > While trying to debug a crash dump from Wireshark 2.6.0, I ran into the > > following error: > > > > Wireshark.pdb could not be found in the selected paths > > > > Steps to reproduce: > > > > 1. Install > > https://www.wireshark.org/download/win64/Wireshark-win64-2.6.0.exe > > 2. Extract > > https://www.wireshark.org/download/win64/all-versions/Wireshark-pdb-win64-2.6.0.zip > > 3. Trigger crash in Wireshark, e.g. Tools -> Lua -> Evaluate. Execute: > > local ba = ByteArray.new(""); getmetatable(ba).__gc(ba) > > 4. Debug Program, attach Visual Studio 2015 and select the previously > > extracted Wireshark.pdb file. > > > > Expected result: > > Wireshark.pdb is loaded successfully. > > > > Actual result: > > Loading the PDB fails with "Wireshark.pdb could not be found in the > > selected paths". Note that symbols for "libwireshark.dll" can be loaded, > > it is just "Wireshark.exe" that fails. > > > > What can I do to load the symbols anyway? Is there something in the > > packaging steps that has to be changed? > > -- > > Kind regards, > > Peter Wu > > https://lekensteyn.nl > > > > > I'm really pushed for time so can't give you much help, but in case of > symbol issues I find WinDbg much more helpful as it has a command "!sym > noisy" that makes the symbol loader emit lots of info.
It says: DBGHELP: E:\wireshark-pdb-win64-2.6.0\Wireshark.pdb - mismatched pdb ... DBGHELP: C:\buildbot\wireshark\wireshark-2.6-64\windows-2016-x64\build\cmbuild\run\RelWithDebInfo\Wireshark.pdb - file not found DBGHELP: Couldn't load mismatched pdb for Wireshark.exe *** ERROR: Module load completed but symbols could not be loaded for Wireshark.exe DBGHELP: Wireshark - no symbols loaded 0:000> !itoldyouso Wireshark.exe E:\Wireshark-pdb-win64-2.6.0\Wireshark.pdb Wireshark.exe Timestamp: 5ADF6E30 SizeOfImage: 7E6000 pdb: C:\buildbot\wireshark\wireshark-2.6-64\windows-2016-x64\build\cmbuild\run\RelWithDebInfo\Wireshark.pdb pdb sig: 8BBD6A19-5505-401B-98FA-CB62E571E5D3 age: 2 Wireshark.pdb pdb sig: 8BBD6A19-5505-401B-98FA-CB62E571E5D3 age: 1 age MISMATCH: Wireshark.pdb and Wireshark.exe Using "ChkMatch.exe" to correct an "Age" property did not make a difference either. in WinDbg, I finally got symbols after .setopt+0x40, this worked with the plain pdb files. The remaining question is, how did this mismatch ever happen? The issue is also still present with win64-2.6.1rc0-76-g1486fd91. This seems problematic: - Wireshark.pdb was built in "compiled with MSBuild" - The PDB is zipped with "built .PDB zip". - In "prepared NSIS package", "qtui" is somehow rebuilt which also causes Wireshark.pdb to be updated. see: https://buildbot.wireshark.org/wireshark-2.6/builders/Windows%20Server%202016%20x64/builds/138/steps/compile_3/logs/stdio Not sure if this is the intended behavior. Gerald, should "built .PDB zip" be moved after these targets, before "verified signatures"? -- Kind regards, Peter Wu https://lekensteyn.nl ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev@wireshark.org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe