diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-13 23:48:47 +0200 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-13 23:48:47 +0200 |
| commit | e1ffe04db570e63bd3c855fc4361ed8de6b5f435 (patch) | |
| tree | f0a52f092a0af8a51fe4fe46709757b1702bd27d | |
| parent | 2be9a150bb742987330c6de4dac23d4d2efb1ebe (diff) | |
feat(LibDebugger): expand KDBG's protocol, by reworking the packet
structure.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
| -rw-r--r-- | dev/LibDebugger/NeKernelContract.h | 25 | ||||
| -rw-r--r-- | tests/example.cc | 4 |
2 files changed, 17 insertions, 12 deletions
diff --git a/dev/LibDebugger/NeKernelContract.h b/dev/LibDebugger/NeKernelContract.h index 8e54ab2..e645db8 100644 --- a/dev/LibDebugger/NeKernelContract.h +++ b/dev/LibDebugger/NeKernelContract.h @@ -29,30 +29,35 @@ namespace LibDebugger::NeKernel { class NeKernelContract; namespace Detail { - class NeKernelPortHeader; + class NeKernelDebugHeader; inline constexpr size_t kDebugTypeLen = 256U; typedef char rt_debug_type[kDebugTypeLen]; - class NeKernelPortHeader final { + class NeKernelDebugHeader final { public: - int16_t fPort; - int16_t fPortBsy; + int16_t fPort; + int16_t fPortKind; + rt_debug_type fPortBlob; }; } // namespace Detail class NeKernelContract : public DebuggerContract { public: NeKernelContract(); - virtual ~NeKernelContract(); + ~NeKernelContract() override; + + public: + NeKernelContract& operator=(const NeKernelContract&) = default; + NeKernelContract(const NeKernelContract&) = default; // Override additional methods from DebuggerContract - virtual bool Attach(std::string path, std::string argv, ProcessID& pid) noexcept override; - virtual bool Breakpoint(std::string symbol) noexcept override; - virtual bool Break() noexcept override; - virtual bool Continue() noexcept override; - virtual bool Detach() noexcept override; + bool Attach(std::string path, std::string argv, ProcessID& pid) noexcept override; + bool Breakpoint(std::string symbol) noexcept override; + bool Break() noexcept override; + bool Continue() noexcept override; + bool Detach() noexcept override; private: std::string m_ip_address; diff --git a/tests/example.cc b/tests/example.cc index 83e664a..2e2a364 100644 --- a/tests/example.cc +++ b/tests/example.cc @@ -1,4 +1,4 @@ -#define AppMain int __ImageStart +#define AppMain __ImageStart #warning TestCase #1 int bar() { @@ -11,6 +11,6 @@ int foo() { return bar(); } -AppMain() { +int AppMain() { return foo(); } |
