Commit Graph

622 Commits

Author SHA1 Message Date
Elias Bachaalany
194a0de01e minor 2025-01-23 08:48:51 -08:00
Elias Bachaalany
5703a46e30 fix 2025-01-22 06:07:35 -08:00
Elias Bachaalany
638a720ab8 fixing CI errors 2025-01-22 05:55:46 -08:00
Elias Bachaalany
ebf563e313 fix1 2025-01-21 21:43:42 -08:00
Elias Bachaalany
5bf325c77f some refactoring with optional_function
- wrapped std::function into utils::optional_function
-- cleaned the code accordingly in windows_emulator
- using the 'emulator'/'windows_emulator' dependency implies the emulator_common as well.
2025-01-21 19:25:51 -08:00
Maurice Heumann
eb613b2214 replace printf() with logger (#95) 2025-01-21 20:03:30 +01:00
Elias Bachaalany
fe36ea3f56 replace printf() with logger 2025-01-21 09:05:55 -08:00
momo5502
35a0616997 Collect locale 2025-01-21 16:15:08 +01:00
Maurice Heumann
7a663094d6 [NFC] Cleanup project structure a bit (#93) 2025-01-20 20:25:52 +01:00
Elias Bachaalany
1d5c5c2e74 Introducing reflection levels concept into core components (#91)
The idea is to allow as much internal information into inner components.
to not burden all builds, the reflection level can be controlled via the
MOMO_REFLECTION_LEVEL (where 0 means no reflection code is included).

more reflection variables will be introduced as needed.

For now, the memory manager's layout state version is used to track
whether the memory layout is changed or not (at the lowest level). the
win_emu API consumer can use this reflection to decide to whether to
refresh or not expensive computations
2025-01-20 11:19:33 -08:00
momo5502
067421bf85 Prepare grouping targets 2025-01-20 20:14:49 +01:00
momo5502
2e1fa4554a Extract windows-gdb-stub 2025-01-20 20:09:16 +01:00
momo5502
5ce3db6d35 Move samples into subdirectory 2025-01-20 19:55:24 +01:00
momo5502
5f0c9adec8 Quick & Dirty DLL collect script 2025-01-20 16:06:18 +01:00
Elias Bachaalany
8b3c0755b1 mods based on suggestion/feedback 2025-01-19 13:57:45 -08:00
momo5502
058e7b6006 Remove mini-gdbstub submodule entry 2025-01-19 18:34:31 +01:00
momo5502
b3537cc2dd Report application exit 2025-01-19 18:19:11 +01:00
momo5502
71c3b8e36a Small cleanup 2025-01-19 18:09:28 +01:00
momo5502
908fa7a363 Ignore signals 2025-01-19 17:50:23 +01:00
momo5502
6ad4a9b0a1 Yield thread when necessary 2025-01-19 16:43:26 +01:00
momo5502
fc990779cf Disable GDB logging 2025-01-19 16:11:25 +01:00
Maurice Heumann
f915113d8b Support threads with GDB (#90) 2025-01-19 16:08:49 +01:00
momo5502
55b0c71dc9 Unify continuation 2025-01-19 16:02:31 +01:00
momo5502
b52bb0315a Handle vCont packets 2025-01-19 15:55:41 +01:00
momo5502
15a1b3327a Add debugging context 2025-01-19 15:49:37 +01:00
momo5502
66805a55a0 Introduce debugging state 2025-01-19 15:39:19 +01:00
momo5502
ac4fd1b4fd Signal stopped thread 2025-01-19 15:12:00 +01:00
momo5502
87fb3defe4 Cleanup xfer data transfer 2025-01-19 13:24:05 +01:00
momo5502
62597d5f4e Don't support vCont right now 2025-01-19 13:23:21 +01:00
momo5502
4e80a8bf16 Support threads in gdb 2025-01-19 12:28:40 +01:00
Maurice Heumann
75c9ad065b Provide correct GDB target description (#92) 2025-01-19 12:24:33 +01:00
momo5502
8afceeca6e Extract register mapping 2025-01-19 11:36:03 +01:00
momo5502
ce291728bd Support all registers 2025-01-19 11:30:32 +01:00
momo5502
77b4ee5e1e Properly read and write registers 2025-01-19 10:18:45 +01:00
momo5502
192d5687ff Provide x86_64 target descriptions 2025-01-19 09:37:59 +01:00
momo5502
270dbf000c Better thread exit check 2025-01-19 08:36:01 +01:00
Elias Bachaalany
8053889d20 introducing reflection concept into core components
the idea is to allow as much internal information into inner components.
to not burden all builds, the reflection level can be controlled
via the MOMO_REFLECTION_LEVEL (where 0 means no reflection code is
included).

more reflection variables will be introduced as needed.

for now, the memory manager's layout version is used to track whether
the memory layout is changed or not (at the lowest level).
the API consumer can use this to decide to refresh or not expensive
computations
2025-01-18 21:10:28 -08:00
momo5502
a16c17669d Fix target 2025-01-18 21:14:22 +01:00
momo5502
1a4ea584aa Fix vCont support 2025-01-18 21:01:38 +01:00
Maurice Heumann
608a1894da Speedup GDB data processing (#89) 2025-01-18 20:42:40 +01:00
momo5502
7c4b1ba3ca Speedup GDB data processing 2025-01-18 20:36:54 +01:00
Maurice Heumann
6084d3522c Refactor GDB stub (#88)
The intention of this PR is not yet to extend/fix the GDB functionality,
but rather to get rid the `mini-gdbstub` dependency.

Its functionality should have been reimplemented as closely as possible.

The main reason for this is better portability and security fixes (there
are numerous OOB read/write vulnerabilities in `mini-gdbstub`)
2025-01-18 20:34:20 +01:00
momo5502
9fc37fa3ef Small cleanup and utils 2025-01-18 19:36:12 +01:00
momo5502
4c5257098c Add logging line for later 2025-01-18 15:59:52 +01:00
momo5502
a0932e6803 Align register behaviour with implementation on main branch 2025-01-18 15:59:13 +01:00
momo5502
3dbd954c60 Fix includes 2025-01-18 15:58:51 +01:00
momo5502
b34ef0e546 Rename interface 2025-01-18 12:56:57 +01:00
momo5502
81fda5f8af Remove mini-gdbstub dependency 2025-01-18 12:49:10 +01:00
momo5502
cc252447d5 Multiple fixes 2025-01-18 12:43:55 +01:00
momo5502
5079b750cd Finish implementation 2025-01-18 11:43:54 +01:00