<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/130413>130413</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            lldb jit_debug_register_code and gdb behave differently
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Guo-yyds
      </td>
    </tr>
</table>

<pre>
    The problem is this, I am doing a jsvm project, and I want to use 
```sh
lldb -- jsvm XXX
```
for debugging, and then I use it through the **__jit_debug_register_code** interface, but although it can break, but can not display the source code, Whether lldb does not load debug information in __jit_debug_register_code?

![Image](https://github.com/user-attachments/assets/5ada4af6-3a58-4a51-9c4f-38b7694f9f49)

```cpp
void register_jit_function_aot_test(std::vector<std::tuple<std::string, uintptr_t, size_t>> func_symbols, ElfDebugInfo elf_debug_info) {
    Buffer elf_file = generate_elf_symbol_aot_test(func_symbols, elf_debug_info);

    struct jit_code_entry* entry = (struct jit_code_entry*)malloc(sizeof(struct jit_code_entry));
    entry->symfile_addr = (const char*)elf_file.bytes;
    entry->symfile_size = elf_file.num_bytes;
    entry->next_entry = __jit_debug_descriptor.first_entry;
    entry->prev_entry = NULL;
    
    if (entry->next_entry != NULL) {
        entry->next_entry->prev_entry = entry;
    }

    __jit_debug_descriptor.first_entry = entry;
    __jit_debug_descriptor.relevant_entry = entry;
    __jit_debug_descriptor.action_flag = JIT_REGISTER_FN;

    __jit_debug_register_code();  // 通知 debugger
}
```

The same thing I use with gdb is normal.

![Image](https://github.com/user-attachments/assets/a33eca23-94d6-4764-9195-60db5e47f5c0)

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVV-vm7gT_TTOy4gIDCTwwAO3N6nyU9WH_rraviGDB3DX2JE9pJt--pUh90-7N12ttFIkrPHMOTPHkxnhvRoMYsXyB5Y_bsRMo3XV-9lG16v0m9bKa_V5RDg722qcQHmgUXnG38EJxATSKjOAgK_-MgWnr9hRuBRGwgm-CUNAFmaPwOKa7eL150cW11rLFqJoDf3y5ctrBxbXvXUgsZ2HQZnhCZJGNHBa8BQBjc7OwxiswHjNeN00XxU1S1jjcFCe0DWdlbhegzKErhcdBsB2JhCaxgVDEXTCQOtQ_PF0GQzGEkjlz1pcFx5vZ9chrJjv4PcRaUQHSzHSol8CtBVyTR6U6a2bBClrQBm4n2B6DALENeMJyx9OkxiQ5Y-MFyPR2bO0ZvzI-HFQNM7ttrMT48fZo4sEkejGCQ15xo_Ce1wOuZAiE_0uSkVeRJnIk6jssj5Ki3a_K7O-7LOS8fJG-iR8dz6zuL5YJeE5vZBxP5su1NAISw2hJ8YLTzKkldYX7Mg6lr57ttB81vja4MndnnFWhs7kmqVNvPqODbH0wNIDBI7GX6fW6qXBDrp_DEKdTG8BdX-TLSjKeAls_8DiGgDgYe57dItLrzQCSx9hQINOEDbBuoK-zv1nrr_Bs_RhlSYQeHJzRxCECG_VoCF3Df20HBa-RY-3vRgvJ6G17YKP-o62v-9cPlMH3sUYsfTgr1OorBFSuie6zhpP0I3CrRxP5W_bK6H_BUjIYQF5jjDz1NyLMvgnNS91vm5gib5z6kzWbXvl_M3tDYyzw8srjI-_ffjw4nX7qD4U9SYtT56jfnj3O3m-wfhTYmz_-PK4_1zRWxB3ohxqvAjz7wPF-vfqtRiWqP-dPjefDu9P__98-NQcP_7Qjr-YcsXaPwDrtAB2KFkRs7Jmhz0rj6zOb0MVXcBbdXg1dVlch3HvxYRh0JvhNm2_KRphkG1YACYMNL39b8eVSFPsBE-jMpO7KNvvsqhMyjzaxbLNMdv3eRev42ojq1SWaSk2WCX7LMnSoizKzViJkosd8j7DXZ5zyQXmEouizIuES1HIjap4zPM4jYskjdO43HaY5XGe5LuWJ1m2j1kW4ySU3mp9mbbWDRvl_YxVksZZkm60aFH7ZVdybvAbLLeM87A6XRWConYePMtirTz5FxhSpLFalsSdp1vWWxC4xVFcEKQKMw0N6etmdrr6hayB5faJnlfwccktKHtL_lLxvwIAAP__X6SMyA">