When trying to symbolicate textual crash logs that we receive occasionaly I’m now making use of LLDB (16.0.6) on Windows. It works like a charm, but only after I resolved an unexpected symbol offset (of 0x1000).
This is for a DLL (x86_64) loaded at address 0x2e290000, looking up a well known symbol with cdb/kd:
0:000> x /v MelodyneCore_5_3_1_018!GNCondition::waitForSignal
prv func 00000000`**2f975fd0** 4f MelodyneCore_5_3_1_018!GNCondition::waitForSignal (double)
This is the address as resolved via LLDB:
target modules load --file "MelodyneCore-5.3.1.018.dll" .text 0x2e290000
section '.text' loaded at 0x2e290000
(lldb) image lookup -n GNCondition::waitForSignal
1 match found in C:\Users\celemony\Downloads\pdbs\MelodyneCore-5.3.1.018.dll:
Address: MelodyneCore-5.3.1.018.dll[0x00000001816e5fd0] (MelodyneCore-5.3.1.018.dll..text **+ 24006608**)
Summary: …
… where 0x2e290000 + 24006608 = 0x2F974FD0 (instead of the expected 0x2F975FD0).
Is this a known bug or am I missing something?