Opened 5 years ago

Closed 5 years ago

#10970 closed enhancement (fixed)

[Debugger] Assistence for locating source code

Reported by: bonefish Owned by: anevilyak
Priority: normal Milestone: R1
Component: Applications/Debugger Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: yes Platform: All

Description

When having to locate a source file because the path stored in the shared object's debug info doesn't match the actual location of the file on disk, Debugger only offers a file dialog to select the file in question.

While the path may be different, the file name usually is the same, so Debugger could assist by querying all volumes for that name and provide a context/pop-up menu with all candidates for quick selection. While it may not always be useful (e.g. their may be lots of "main.c[pp]" on a developer's machine) or able to find the candidate at all (e.g. volume not indexed), in most cases it should work very nicely.

Attachments (1)

10970.patch (4.3 KB ) - added by anevilyak 5 years ago.
Proof of concept

Download all attachments as: .zip

Change History (5)

comment:1 by anevilyak, 5 years ago

Status: newin-progress

by anevilyak, 5 years ago

Attachment: 10970.patch added

Proof of concept

comment:2 by anevilyak, 5 years ago

Has a Patch: set

comment:3 by anevilyak, 5 years ago

Attached please find a quick proof of concept for trying this out. The behavior I've implemented is as follows:

  • All volumes are queried for a matching filename, and any candidates are aggregated into a sorted list.
  • If the above returns 0 matches, we immediately fall back to the current file panel behavior.
  • Otherwise, we build a pop up menu as in the ticket description, containing each of the aforementioned matches, as well as a separator + final item allowing one to choose to locate the file manually if none of the results found via query are correct.

Please let me know what you think.

comment:4 by anevilyak, 5 years ago

Resolution: fixed
Status: in-progressclosed

Implemented in hrev47421.

Note: See TracTickets for help on using tickets.