<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/62063>62063</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
LLDB crashes while debugging stl types (PDB, Windows, AArch64)
</td>
</tr>
<tr>
<th>Labels</th>
<td>
bug,
lldb,
platform:windows,
clang-cl,
crash
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
omjavaid
</td>
</tr>
</table>
<pre>
It seems that clang-cl seems to generate incorrect PDB debug info for C++ STL types as the same code compiled with cl.exe can be debugged using LLDB just fine.
```
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = { 5, 2, 7, 1, 8 };
for (const auto& num : numbers) {
std::cout << num << " ";
}
return 0;
}
```
Compile above code with `clang-cl /EHsc /Zi /Od /MDd main.cpp`
Start a LLDB debug session with resulting executable as target and set breakpoint on main. Then issue run command.
LLDB will crash with following crash log:
```
Assertion failed: false && "Variant::toAPSInt called on non-numeric type", file C:\Users\omair\work\llvm-dev\llvm-project\llvm\include\llvm/DebugInfo/PDB/PDBTypes.h, line 504
LLDB diagnostics will be written to C:\Users\omair\AppData\Local\Temp\diagnostics-3143b6
Please include the directory content when filing a bug report
Exception Code: 0xC000001D
#0 0x00007ff7615e1c14 (C:\Users\omair\work\llvm-dev\build\bin\lldb.exe+0x21c14)
#1 0x00007ff95f8b5dc8 (C:\WINDOWS\System32\ucrtbase.dll+0x75dc8)
```
Note: This behaviour can be reproduced on 16.0.0 LLVM WoA release and can also be reproduced if you build llvm-project main branch. This crash is Windows on Arm specific. While x64 debugging vectors or maps do not result in crash but debugging experience is not ideal.
If we generate DWARF symbols instead of PDB using -gdwarf option debugging seems to work normally.
I am not 100% on whether this is
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVk1v4zgM_TXKhWhgy7GTHnJInAZboDNTbLtTYG-yRNuakSVDkpv03y9o56uzs8AWDW1JIZ_E90hFhKAbi7hm-Zblu5kYYuv82nU_xLvQalY59bF-jBAQuwCxFRGkEba5k-Y856BBi15EBG2l8x5lhOfdFhRWQwPa1g5q56FkfMv4Fl5enyB-9BhAUESEIDoE6RSZrtcGFRx0bEGaOR4RpLBQ4RStQQVD0LaBp6fdFn4MIUKtLc5ZsmPJ5mSL5PQ_DXmmrTSDQmBZqV2IHkXHsoffLb-jjM5fF0erbYROaMv4ivF7YMvtNA8AEKJi2YZlm7NnqW1k2QPYoavQB2DZjjwgZ7wETmZJJiWzArbcsewmHCWK8ZV0NkQQQ3SMFxQKWLY5h_zXHj7tQ7oh0klYVp4cx1fGOX2uYIR8ieAxDt5Cclm-rP6azNGWE08gKvd-om5kjBXJRR2M7x_-CJKef2uy3xTZLzs15nIu-_6XqC9R-AhionYST8AQtLNTdI9hMJHIxyPKIYqKthAgCt9gBGEVBIxQeRQ_e0ekOTthwWuLFnQIA4IfLOmsE1Z9Us2IetDGgPQitBNk7YxxB4KcJo1rKMu_y8wmBPSRNlsL0jARVgsTEBgviEXG-XfhtSB5EFHRbZ5fHm0EKQxp3lmwzt7ZoUOv5VgiRBgvoaZcl-SVl38FUkBeuk5oz_Ly4PxPlpfGvHd3Ct_Pr713P1DG05Dl5Unj5wm-31GCH23tGN8_77aTfaW6nLcEarRFyJPFTXaUFo11IWoZpkxVCAevY0RLbeA_drjp-52IguXlk5PCsLx8xa5neXkT7i5LF1lVTFjPBkUYm8lYldQilPZjeX2AdDaijXAgRmttiBsBpBWPvfNxCvFwlNiPZJROIVGRHMuE_tKz6hnPEkiONLes62WR5pjKdEHV979TXQ3aKHpqOy6oijoW49vkyCkY4_dXtPSKdp_XqypXcnWD9vb4dfft7YXl5ctHiNhlnOXlIH2sRMC5MmYMuySvS9jfFudXF8cTv7Y6QIWteNdu8Oc26rH3Tg1yElxazJN5Ak9P37_Am9uAxyn3VEvkIExwv3jpGj7cAOPR4VZrY6lB5YWV7XxCn4pGB3jTVrlDIMiN7yD0KHWt5RzeWtL2sVic-jvROXXSAM5DJ_oAyoF18VT-oO0pbDXEGyc89ug1WomER9_XCoX5VOKPNRzwelvt3jZ_7iF8dJUzAbQNEYUCV4-X13TL3DXqIHwNbhLTFe5y95EowDrfCWM-PqOB6MaNpEnCeE5nP7QYW_QQKTk6wEytM3Wf3YsZrtNilfI053kxa9fZfV0oXK6yFS_qJBf5qlqoiq8yVSxlWvOZXvOEZ8kiTVOeLtJirlS6KpQoskWFKS8KtkiwE9rMiaK5881sbH_rgidFNjOiQhPGS5_zamimRsM4Jw1fBr0RsXa-Y9nmMBF4WTq3-esEcUKjfDfz61EX1dAEtkiMDjFctxF1NLge-8nogwEOowhukhvN6RcC46uxN5VnBdHrZuNlW1BxzQZv1m2MfaAa4nvG942O7VDNpaMed2p1nzoi34-JCIzvx1z8EwAA___-qs1g">