mgradwohl / mgradwohl/tasksmack

[Feature] Loaded Module / Shared Library Viewer

Open
#802 0 comments 0 reactions 0 assignees View on GitHub
enhancement linux windows
Dominant language
C++
Stars
1
Forks
0
Avg merge
3h 4m
Merged PRs (30d)
115

Description

## Problem Statement

TaskSmack has no way to see which shared libraries/DLLs a process has loaded. TaskSlinger has this ("process module viewing"); `tasksmack.md`'s "Current Engineering Direction" names "module inspection" as a candidate area. This is distinct from the open-files work in #183, which covers file descriptors, not loaded code modules.

## Proposed Solution

A new section in `ProcessDetailsPanel` listing loaded modules: name, path, base address, size, and version where available.

## Alternatives Considered

Fold this into the #183 (lsof) work as a combined "open files & modules" view rather than a separate panel section — worth deciding once #183 is actually scoped, since the two share a "drill into what a process has open/loaded" theme.

## Additional Context

Reference the existing per-section pattern already established in `ProcessDetailsPanel.cpp` (`renderIoStats`, `renderNetworkStats`, etc.) — this should follow the same shape.

## Implementation Notes

- Windows: `EnumProcessModules`/`GetModuleFileNameEx` (psapi).
- Linux: parse `/proc/[pid]/maps` for mapped shared objects — a different file/pattern than the `/proc/[pid]/status` and `/proc/[pid]/io` parsers already in `LinuxProcessProbe.cpp`, so it's new parsing code, not a reuse of an existing parser.
- Should be fetched lazily (only while Process Details is open and this section is expanded) rather than every background-sampler tick, same reasoning as the per-connection network view.

Contributor guide

Open the contributing guide

Research direction

Read the per-section patterns in ProcessDetailsPanel.cpp, including renderIoStats and renderNetworkStats, then inspect LinuxProcessProbe.cpp and its existing /proc parsers. Implementations should provide the listed module fields on Windows and Linux, fetch them only when Process Details is expanded, and show them in a new section.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
desktop, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
58/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.