YungRaj wrote: > This patch fixes the deserialization of the "address" field which surely can > be tested in isolation. The existing test (`TestObjectFileJSON.py`) has > `address` set to zero, which is why this happens to work today. It should be > possible to either update the test or add a new one that has a non-zero > section address, which would fail prior to this patch, but pass with it.
I was hoping to fix everything in one Pull Request so that it at least becomes usable once this merges. I can handle the unit test changes, but I'm unsure how to fix the other memory reading issue while debugging the target. I describe it in brief on that other comment. Basically reading the memory of the symbolicated address reads from the JSON Object File instead of the live memory. ``` ilhanraja@ilhanrajas-Virtual-Machine build % bin/lldb (lldb) target create /Users/ilhanraja/Downloads/symbols.json Current executable set to '/Users/ilhanraja/Downloads/symbols.json' (arm64e). (lldb) gdb-remote 10.11.1.2:4000 Kernel UUID: 894FC3F0-4DF9-3A70-A4EE-75646151C8A7 Load Address: 0xfffffff00700c000 Process 1 stopped * thread #1, stop reason = signal SIGINT frame #0: 0xfffffff007d56080 error: 0xffffffffffffffff can't be resolved (lldb) bt * thread #1, stop reason = signal SIGINT * frame #0: 0xfffffff007d56080 frame #1: 0xfffffff007ecafe8 frame #2: 0xfffffff007dc2d50 frame #3: 0xfffffff007dc2fb8 (lldb) image lookup -r -s ipc 74 symbols match the regular expression 'ipc' in /Users/ilhanraja/Downloads/symbols.json: Address: symbols.json[0xfffffff007d62124] (symbols.json.com.apple.kernel:__text + 106788) Summary: symbols.json`ipc_hash_delete Address: symbols.json[0xfffffff007d6264c] (symbols.json.com.apple.kernel:__text + 108108) Summary: symbols.json`ipc_importance_task_check_transition Address: symbols.json[0xfffffff007d62774] (symbols.json.com.apple.kernel:__text + 108404) Summary: symbols.json`ipc_importance_task_propagate_assertion_locked Address: symbols.json[0xfffffff007d66b80] (symbols.json.com.apple.kernel:__text + 125824) Summary: symbols.json`ipc_kmsg_alloc Address: symbols.json[0xfffffff007d66e30] (symbols.json.com.apple.kernel:__text + 126512) Summary: symbols.json`ipc_kmsg_alloc_uext_reply Address: symbols.json[0xfffffff007d671c4] (symbols.json.com.apple.kernel:__text + 127428) Summary: symbols.json`ipc_kmsg_enqueue_qos Address: symbols.json[0xfffffff007d675f8] (symbols.json.com.apple.kernel:__text + 128504) Summary: symbols.json`ipc_kmsg_clean_body Address: symbols.json[0xfffffff007d6af48] (symbols.json.com.apple.kernel:__text + 143176) Summary: symbols.json`_ipc_kmsg_option_check Address: symbols.json[0xfffffff007d6b0fc] (symbols.json.com.apple.kernel:__text + 143612) Summary: symbols.json`ipc_kmsg_validate_reply_port_locked Address: symbols.json[0xfffffff007d6bf78] (symbols.json.com.apple.kernel:__text + 147320) Summary: symbols.json`ipc_kmsg_link_reply_context_locked Address: symbols.json[0xfffffff007d6cf5c] (symbols.json.com.apple.kernel:__text + 151388) Summary: symbols.json`ipc_kmsg_get_thread_group Address: symbols.json[0xfffffff007d6e65c] (symbols.json.com.apple.kernel:__text + 157276) Summary: symbols.json`ipc_mqueue_destroy_locked Address: symbols.json[0xfffffff007d6e6fc] (symbols.json.com.apple.kernel:__text + 157436) Summary: symbols.json`ipc_mqueue_set_qlimit_locked Address: symbols.json[0xfffffff007d6e87c] (symbols.json.com.apple.kernel:__text + 157820) Summary: symbols.json`ipc_notify_port_deleted Address: symbols.json[0xfffffff007d6e8e0] (symbols.json.com.apple.kernel:__text + 157920) Summary: symbols.json`ipc_notify_no_senders_prepare Address: symbols.json[0xfffffff007d6ea50] (symbols.json.com.apple.kernel:__text + 158288) Summary: symbols.json`ipc_notify_send_once_and_unlock Address: symbols.json[0xfffffff007d6eb6c] (symbols.json.com.apple.kernel:__text + 158572) Summary: symbols.json`ipc_object_deallocate_queue_invoke Address: symbols.json[0xfffffff007d6ec7c] (symbols.json.com.apple.kernel:__text + 158844) Summary: symbols.json`ipc_object_release Address: symbols.json[0xfffffff007d6f300] (symbols.json.com.apple.kernel:__text + 160512) Summary: symbols.json`ipc_object_alloc Address: symbols.json[0xfffffff007d6f400] (symbols.json.com.apple.kernel:__text + 160768) Summary: symbols.json`ipc_object_alloc_name Address: symbols.json[0xfffffff007d70844] (symbols.json.com.apple.kernel:__text + 165956) Summary: symbols.json`ipc_object_lock_allow_invalid Address: symbols.json[0xfffffff007d70970] (symbols.json.com.apple.kernel:__text + 166256) Summary: symbols.json`ipc_port_reference Address: symbols.json[0xfffffff007d709f4] (symbols.json.com.apple.kernel:__text + 166388) Summary: symbols.json`ipc_port_translate_send Address: symbols.json[0xfffffff007d70a5c] (symbols.json.com.apple.kernel:__text + 166492) Summary: symbols.json`ipc_port_translate_receive Address: symbols.json[0xfffffff007d714d0] (symbols.json.com.apple.kernel:__text + 169168) Summary: symbols.json`ipc_port_clear_receiver Address: symbols.json[0xfffffff007d7179c] (symbols.json.com.apple.kernel:__text + 169884) Summary: symbols.json`ipc_port_alloc Address: symbols.json[0xfffffff007d72cc8] (symbols.json.com.apple.kernel:__text + 175304) Summary: symbols.json`ipc_port_send_update_inheritor Address: symbols.json[0xfffffff007d72fd0] (symbols.json.com.apple.kernel:__text + 176080) Summary: symbols.json`ipc_port_recv_update_inheritor Address: symbols.json[0xfffffff007d734a8] (symbols.json.com.apple.kernel:__text + 177320) Summary: symbols.json`ipc_port_adjust_port_locked Address: symbols.json[0xfffffff007d73af4] (symbols.json.com.apple.kernel:__text + 178932) Summary: symbols.json`ipc_port_get_receiver_task_locked Address: symbols.json[0xfffffff007d73dc4] (symbols.json.com.apple.kernel:__text + 179652) Summary: symbols.json`ipc_port_make_send_any_locked Address: symbols.json[0xfffffff007d74018] (symbols.json.com.apple.kernel:__text + 180248) Summary: symbols.json`ipc_port_copy_send_any_locked Address: symbols.json[0xfffffff007d74074] (symbols.json.com.apple.kernel:__text + 180340) Summary: symbols.json`ipc_port_copy_send_any Address: symbols.json[0xfffffff007d7411c] (symbols.json.com.apple.kernel:__text + 180508) Summary: symbols.json`ipc_port_copy_send_mqueue Address: symbols.json[0xfffffff007d74220] (symbols.json.com.apple.kernel:__text + 180768) Summary: symbols.json`ipc_port_copyout_send Address: symbols.json[0xfffffff007d74298] (symbols.json.com.apple.kernel:__text + 180888) Summary: symbols.json`ipc_port_copyout_send_pinned Address: symbols.json[0xfffffff007d743a0] (symbols.json.com.apple.kernel:__text + 181152) Summary: symbols.json`ipc_port_release_send_and_unlock Address: symbols.json[0xfffffff007d74808] (symbols.json.com.apple.kernel:__text + 182280) Summary: symbols.json`ipc_port_release_sonce_and_unlock Address: symbols.json[0xfffffff007d76320] (symbols.json.com.apple.kernel:__text + 189216) Summary: symbols.json`ipc_pset_alloc_name Address: symbols.json[0xfffffff007d7749c] (symbols.json.com.apple.kernel:__text + 193692) Summary: symbols.json`ipc_right_request_cancel Address: symbols.json[0xfffffff007d79ab4] (symbols.json.com.apple.kernel:__text + 203444) Summary: symbols.json`ipc_right_copyin_check_guard_locked Address: symbols.json[0xfffffff007d7a3c8] (symbols.json.com.apple.kernel:__text + 205768) Summary: symbols.json`_ipc_space_retire_table Address: symbols.json[0xfffffff007d7a4d0] (symbols.json.com.apple.kernel:__text + 206032) Summary: symbols.json`ipc_space_free Address: symbols.json[0xfffffff007d7a560] (symbols.json.com.apple.kernel:__text + 206176) Summary: symbols.json`ipc_space_rand_freelist Address: symbols.json[0xfffffff007d7ad6c] (symbols.json.com.apple.kernel:__text + 208236) Summary: symbols.json`ipc_service_port_label_alloc Address: symbols.json[0xfffffff007d7af8c] (symbols.json.com.apple.kernel:__text + 208780) Summary: symbols.json`ipc_service_port_derive_sblabel Address: symbols.json[0xfffffff007d7b140] (symbols.json.com.apple.kernel:__text + 209216) Summary: symbols.json`ipc_service_port_get_sblabel Address: symbols.json[0xfffffff007d96804] (symbols.json.com.apple.kernel:__text + 321540) Summary: symbols.json`_ipc_kobject_label_substitute_thread Address: symbols.json[0xfffffff007d968dc] (symbols.json.com.apple.kernel:__text + 321756) Summary: symbols.json`_ipc_kobject_label_substitute_thread_read Address: symbols.json[0xfffffff007d9ea14] (symbols.json.com.apple.kernel:__text + 354836) Summary: symbols.json`ipc_thread_init_exc_actions Address: symbols.json[0xfffffff007e07e70] (symbols.json.com.apple.kernel:__text + 786032) Summary: symbols.json`get_task_ipcspace Address: symbols.json[0xfffffff008240ae4] (symbols.json.com.apple.kernel:__text + 5212900) Summary: symbols.json`uipc_sockaddr Address: symbols.json[0xfffffff008240b70] (symbols.json.com.apple.kernel:__text + 5213040) Summary: symbols.json`uipc_shutdown Address: symbols.json[0xfffffff008240cb4] (symbols.json.com.apple.kernel:__text + 5213364) Summary: symbols.json`uipc_sense Address: symbols.json[0xfffffff008242b80] (symbols.json.com.apple.kernel:__text + 5221248) Summary: symbols.json`uipc_rcvd Address: symbols.json[0xfffffff008242c98] (symbols.json.com.apple.kernel:__text + 5221528) Summary: symbols.json`uipc_peeraddr Address: symbols.json[0xfffffff008242e30] (symbols.json.com.apple.kernel:__text + 5221936) Summary: symbols.json`uipc_listen Address: symbols.json[0xfffffff008243978] (symbols.json.com.apple.kernel:__text + 5224824) Summary: symbols.json`uipc_accept Address: symbols.json[0xfffffff008243a4c] (symbols.json.com.apple.kernel:__text + 5225036) Summary: symbols.json`uipc_abort Address: symbols.json[0xfffffff0083507d0] (symbols.json.com.apple.kernel:__text + 6326224) Summary: symbols.json`IODispatchQueue::SetPort(ipc_port Address: symbols.json[0xfffffff0083565d4] (symbols.json.com.apple.kernel:__text + 6350292) Summary: symbols.json`IOEventLink::SetEventlinkPort(ipc_port Address: symbols.json[0xfffffff00835703c] (symbols.json.com.apple.kernel:__text + 6352956) Summary: symbols.json`IOWorkGroup::SetWorkGroupPort(ipc_port Address: symbols.json[0xfffffff0083fe7fc] (symbols.json.com.apple.kernel:__text + 7038972) Summary: symbols.json`IOUserClient::registerNotificationPort(ipc_port Address: symbols.json[0xfffffff00840363c] (symbols.json.com.apple.kernel:__text + 7059004) Summary: symbols.json`__ZN12IOUserClient17setAsyncReferenceEPjP8ipc_portPvS3__0_1 Address: symbols.json[0xfffffff0084051e8] (symbols.json.com.apple.kernel:__text + 7066088) Summary: symbols.json`IOUserClient::releaseNotificationPort(ipc_port Address: symbols.json[0xfffffff00840f9d8] (symbols.json.com.apple.kernel:__text + 7109080) Summary: symbols.json`IODataQueue::setNotificationPort(ipc_port Address: symbols.json[0xfffffff00849a380] (symbols.json.com.apple.kernel:__text + 7676800) Summary: symbols.json`ipc_importance_init Address: symbols.json[0xfffffff00849a3a0] (symbols.json.com.apple.kernel:__text + 7676832) Summary: symbols.json`ipc_importance_thread_call_init Address: symbols.json[0xfffffff00849a5a0] (symbols.json.com.apple.kernel:__text + 7677344) Summary: symbols.json`ipc_object_validate_preflight_panic Address: symbols.json[0xfffffff00849a5d0] (symbols.json.com.apple.kernel:__text + 7677392) Summary: symbols.json`__ipc_port_inactive_panic Address: symbols.json[0xfffffff00849a698] (symbols.json.com.apple.kernel:__text + 7677592) Summary: symbols.json`ipc_voucher_init Address: symbols.json[0xfffffff00849ad30] (symbols.json.com.apple.kernel:__text + 7679280) Summary: symbols.json`__ipc_kobject_dealloc_bad_type_panic Address: symbols.json[0xfffffff00849ad6c] (symbols.json.com.apple.kernel:__text + 7679340) Summary: symbols.json`__ipc_kobject_dealloc_bad_mscount_panic Address: symbols.json[0xfffffff00849ada4] (symbols.json.com.apple.kernel:__text + 7679396) Summary: symbols.json`__ipc_kobject_dealloc_bad_srights_panic (lldb) memory read 0xfffffff007d6264c 0xfffffff007d6264c: 34 34 30 30 35 31 32 32 33 32 37 35 35 32 0a 20 44005122327552. 0xfffffff007d6265c: 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 },. (lldb) memory read 0xfffffff007d62620 -c 512 0xfffffff007d62620: 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c 0a 20 type": "code",. 0xfffffff007d62630: 20 20 20 20 20 20 20 20 20 20 20 22 61 64 64 72 "addr 0xfffffff007d62640: 65 73 73 22 3a 20 31 38 34 34 36 37 34 34 30 30 ess": 1844674400 0xfffffff007d62650: 35 31 32 32 33 32 37 35 35 32 0a 20 20 20 20 20 5122327552. 0xfffffff007d62660: 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 7b 0a },. {. 0xfffffff007d62670: 20 20 20 20 20 20 20 20 20 20 20 20 22 6e 61 6d "nam 0xfffffff007d62680: 65 22 3a 20 22 5f 6f 73 65 6e 76 69 72 6f 6e 6d e": "_osenvironm 0xfffffff007d62690: 65 6e 74 5f 69 73 5f 64 69 61 67 6e 6f 73 74 69 ent_is_diagnosti 0xfffffff007d626a0: 63 73 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 cs",. 0xfffffff007d626b0: 20 22 74 79 70 65 22 3a 20 22 63 6f 64 65 22 2c "type": "code", 0xfffffff007d626c0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 61 64 . "ad 0xfffffff007d626d0: 64 72 65 73 73 22 3a 20 31 38 34 34 36 37 34 34 dress": 18446744 0xfffffff007d626e0: 30 30 35 31 32 32 33 33 33 37 39 32 0a 20 20 20 005122333792. 0xfffffff007d626f0: 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 },. 0xfffffff007d62700: 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 6e {. "n 0xfffffff007d62710: 61 6d 65 22 3a 20 22 64 65 66 5f 46 46 46 46 46 ame": "def_FFFFF 0xfffffff007d62720: 46 46 30 30 37 45 32 33 39 44 34 22 2c 0a 20 20 FF007E239D4",. 0xfffffff007d62730: 20 20 20 20 20 20 20 20 20 20 22 74 79 70 65 22 "type" 0xfffffff007d62740: 3a 20 22 63 6f 64 65 22 2c 0a 20 20 20 20 20 20 : "code",. 0xfffffff007d62750: 20 20 20 20 20 20 22 61 64 64 72 65 73 73 22 3a "address": 0xfffffff007d62760: 20 31 38 34 34 36 37 34 34 30 30 35 31 32 32 33 184467440051223 0xfffffff007d62770: 34 33 35 38 30 0a 20 20 20 20 20 20 20 20 7d 2c 43580. }, 0xfffffff007d62780: 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 . {. ``` https://github.com/llvm/llvm-project/pull/101062 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits