<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61046>61046</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
`lldb` does not list out static local variables in `ta v` nor `frame v`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
jwnhy
</td>
</tr>
</table>
<pre>
My Setup:
```
$ uname -a
Linux ITXGentoo 6.1.12-gentoo #1 SMP PREEMPT_DYNAMIC Fri Feb 17 09:42:40 CST 2023 x86_64 12th Gen Intel(R) Core(TM) i7-12700K GenuineIntel GNU/Linux
$ clang -v
clang version 15.0.7
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/15/bin
Configuration file: /etc/clang/clang.cfg
System configuration file directory: /etc/clang
Selected GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/11
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
```
Code:
```c
#include <stdio.h>
int main() {
static int S;
printf("%d\n", S);
return 0;
}
```
Compilation Command:
```
clang missing_static.c -g
```
`lldb` Output:
```
$ lldb a.out
(lldb) target create "a.out"
Current executable set to '/<my-path>/a.out' (x86_64).
(lldb) b main
Breakpoint 1: where = a.out`main + 15 at missing_static.c:5:18, address = 0x000000000000114f
(lldb) r
Process 6649 launched: '/<my-path>/a.out' (x86_64)
Process 6649 stopped
* thread #1, name = 'a.out', stop reason = breakpoint 1.1
frame #0: 0x000055555555514f a.out`main at missing_static.c:5:18
2
3 int main() {
4 static int S;
-> 5 printf("%d\n", S);
6 return 0;
7 }
(lldb) frame v
(lldb) ta v
error: no global variables in current compile unit: /<my-path>/missing_static.c
(lldb) p S
(int) $0 = 0
```
`gdb` Output (Same executable)
```
Using host libthread_db library "/lib64/libthread_db.so.1".
Temporary breakpoint 1, main () at missing_static.c:5
5 printf("%d\n", S);
(gdb) info locals
S = 0
(gdb)
```
Seems `lldb` behaves weirdly against local static variables?
It can print out its value, but somehow we cannot see it (it was named as `$0` in the output of `p S`).
BTW, the command `ta v` is supposed to list out all static/global variables according to [doc](https://lldb.llvm.org/use/map.html).
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVt1u8zgOfRrlhohhyz9JLnKRJnVR7Ha2mHSwu1eFbDGOZm3JkOS2efsF5ThNf75ixijcSDqkjshDWsI51WjENctvWL6bicEfjV3_-aqPp1ll5Gn9cII9-qFn6YbFOxZvWBGf_8Yhz2DQokOYi3EG4J9KD29w__SfO9TeGCiiJEr4vBlHjKcJ7B8e4fH329uHx6fn3X9_2zzcb6G0CkqsIFlAvGLpJuP0imG7fwIe8xTelsVzkUHC_RHuUMO99tgyvvyd8RVsjUXGl08PNFCLecIXcfwPwg1KY4DC3W9_MF4Geu_s61boBuYvE_tx_ILWKaMhyaM4WkxrT8I26Fm6OXOZ9_W8JXfzRg8X0NGikNAZiS1Be-PU27R4r50XbYtypywtMl4OzjJetqqid_vSMV4mOeNlpfRktTX6oJrBCk-cDqrFsy36mvEyUJ7-R_Whmez2J-exg_qLOUhlsfbGnr5xNBrvscXao4S77RbUSDs4-IZ2U5P1dzHhZZKcHW6FlkoKj9ANrVdkmW4gYukNy-KuyC6H_RaX8jMw5ZfTTQx_8vdZr-G9NRK_KrqeRJEqXbeDRGDp1nmpTHRk6e21A6U9dEJpxpekN7a4mUg5L7yqgQB7onKe7q3S_hDgnPFcsnyrw88t7BlfXSEt-sFqiC9TbLH78Shdr8bEwNZ0ndDyV7U6KrtTzindPI9EoxrmzQ_uWRG3raxYEcO_Bt8P_qdGQEgQkRn8NLcMxnwFPlQO1BYpsYzzEcbPydwO1qL2gG9YD15ULYJDD57axYLxkqXb7jTvhQ-J4OXZegGML0fZMb6KvuxajUkK0zcWxf96Q4lJSCivR7SU4d2ZcRETFhi_gSQH4b8EiqWbnKWbZElJE1JadC7Yx2_x1ZMk2eELETvOPFpTk1VRZCtoxaDrI8qxnv7yKb_x5Lzpe5TTrhvwYwuiVktkQ38mpowvJp80T3ZgUTijw3J1FaJoKlsAONjggKcxcR2Pm09Pkh0-RvDH0E0-L0UMKe3w63qCDMLzbV3NWXoL-Qj4yxVWjPgvdQYAC1p4r7f3_I0RePlG1tMkWmtCR9cGmtZUooUXYRVJ2YHSUJ8VXod6RRi08udO-jntX6L3edce9pc5pX2IGM_iUYw_F3NzXcukqz0d7L3sLgL75OAPYgRH4zy0qhr19SwrGlhhTxAiTV8D0mh5DYmciRLGeXTN5Am73gTDa81Rrs5FGGTwKyUFF-e0_43MM75sxgAqfTDQmlq0blzaf4jdhPshlHvEzsFVd6zwKF7QwSsqK9sTiEbQR3PcZVLvRREsLUc_9x5qoccjgBk8KO_gRbQDEv1q8OBMh0fzCq9ISG08OERQIXnKw6twob4liMCHhEB8lAZ_RHJJiTYHWiPdEGLqlDdP_6ZdCFePnw5CBU2TBwdu6HvjUFIjbpUbGYp2Og99-T9LXdS1sZLEQs07v5GmZvmO8eXR-97R14OX4aIjq4huO5GxTbhNIClf9NHRd-07xZlcp3KVrsQM10mxWOTLIk3S2XGd4Wolq2KZL-K4lkuJsSgOvKoP2ZKvFrWcqTVdGmPOl0mSr_IiEpiuDksZ81VcHbIqY1mMnVDthcZMOTfgukjirJi1osLWhYsx5xpfISySrPLdzK7JZl4NjWNZTJFx71688i2ur6QhDTqgxF1CeJbDqI0PbeIq_tpYGk6tp4hng23XH8PYKH8cqqg23fvlMVDrrfkTa894GXg7xstwrv8HAAD__2BmckI">