summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2024-04-24setpgid is redundant with setsid and causes an errorMalfurious1-1/+0
Signed-off-by: Malfurious <m@lfurio.us>
2024-04-24Display name of pending signalMalfurious1-1/+2
Signed-off-by: Malfurious <m@lfurio.us>
2024-04-24dbg_realcont for testing purposesMalfurious3-0/+23
Signed-off-by: Malfurious <m@lfurio.us>
2024-04-24Display installed status of breakpointsMalfurious1-1/+1
Signed-off-by: Malfurious <m@lfurio.us>
2024-04-24(Un)install breakpoints via specific threadMalfurious1-15/+15
We need to perform these changes with a thread ID that is known to be in ptrace stop. This is a requirement of the API even though the memory change is seen by all threads of the guest process. Signed-off-by: Malfurious <m@lfurio.us>
2024-04-24Don't drop temporary breakpoints when execution is to be restartedMalfurious1-9/+16
Signed-off-by: Malfurious <m@lfurio.us>
2024-04-24Fix capture_state edge casesMalfurious1-5/+21
Use `th->state == NULL` as an indicator that each thread's state is capturable, discard use of the `all` parameter. Signed-off-by: Malfurious <m@lfurio.us>
2024-04-24Multithread version 2Malfurious4-538/+379
Signed-off-by: Malfurious <m@lfurio.us>
2024-04-24Multithread version 1Malfurious5-283/+825
Signed-off-by: Malfurious <m@lfurio.us>
2023-07-08Initial debugger core and test UIMalfurious4-47/+612
This is vaguely competent at tracing single-threaded programs. Vi-like keybinds defined in misplays.c. Signed-off-by: Malfurious <m@lfurio.us>
2023-07-08Implement trivial linked listMalfurious3-0/+43
* Bring-your-own-node (generic / zero allocations) * Doubly-linked and circular, forward and backward traversable * Random insert/removal in constant time * All operations are no-fail * [Some type safety concessions though] Signed-off-by: Malfurious <m@lfurio.us>
2023-07-07Add panel clear helperMalfurious2-0/+5
Signed-off-by: Malfurious <m@lfurio.us>
2023-07-07Add malloc wrapperMalfurious2-0/+11
Abort on allocation failure. This is mostly done as a formality, as Linux tends to over-commit memory anyway. In the event of most failures, we won't have a reasonable recovery either. Signed-off-by: Malfurious <m@lfurio.us>
2023-07-06Rename curshelpers unit to 'helpers'Malfurious5-5/+4
Signed-off-by: Malfurious <m@lfurio.us>
2023-07-05Add CMake build systemMalfurious2-0/+39
Signed-off-by: Malfurious <m@lfurio.us>
2023-07-02Add main source fileMalfurious1-0/+105
Signed-off-by: Malfurious <m@lfurio.us>
2023-07-02Add basic pty consoleMalfurious2-0/+117
This is good enough for early testing of the debugger functionality, but should be improved in the future. Signed-off-by: Malfurious <m@lfurio.us>
2023-07-02Add convenience ncurses functionsMalfurious2-0/+59
Signed-off-by: Malfurious <m@lfurio.us>
2023-06-30UNLICENSEMalfurious1-0/+24
Signed-off-by: Malfurious <m@lfurio.us>