-
-
Notifications
You must be signed in to change notification settings - Fork 809
Open
Milestone
Description
GEF+GDB version
GDB: 13.2
GDB-Python: 3.11Operating System
Manjaro Linux
Describe the issue you encountered
When a program in a remote session loads additional shared library after it started, the remote_objfile_event_handler:
Lines 11246 to 11258 in 570cc03
| def remote_objfile_event_handler(self, evt: "gdb.events.NewObjFileEvent") -> None: | |
| dbg(f"[remote] in remote_objfile_handler({evt.new_objfile.filename if evt else 'None'}))") | |
| if not evt or not evt.new_objfile.filename: | |
| return | |
| if not evt.new_objfile.filename.startswith("target:") and not evt.new_objfile.filename.startswith("/"): | |
| warn(f"[remote] skipping '{evt.new_objfile.filename}'") | |
| return | |
| if evt.new_objfile.filename.startswith("target:"): | |
| src: str = evt.new_objfile.filename[len("target:"):] | |
| if not self.sync(src): | |
| raise FileNotFoundError(f"Failed to sync '{src}'") | |
| return | |
downloads the shared library from the remote and store it in the local folder.
However, it does not update the local
/proc/{pid}/maps file, leading to wrong vmmap outputs (and maybe other erroneous results).
Do you read the docs and look at previously closed issues/PRs for similar cases?
Yes
Architecture impacted
- X86
- X64
- ARM
- ARM64
- MIPS
- MIPS64
- PPC
- PPC64
- RISCV
Describe your issue. Without a proper reproduction step-by-step, your issue will be ignored.
- Start a remote debugging session on a program that loads additional shared libraries with
dlopenfor example. - Run the program and tries
vmmap, the additional shared library won't show in the output.
Minimalist test case
No response
Additional context?
No response
Reactions are currently unavailable