diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-05 09:57:44 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-05 09:57:44 +0100 |
| commit | 5f8ee9584a7a5c911d46f73e24ec7a1201058c50 (patch) | |
| tree | d31ac096094430ca93e521ef233144d969ad6427 /dev/DebuggerKit | |
| parent | b0c5f2a2683657182f5ce3dc3bcbf252164b0077 (diff) | |
feat! compiler_kit: API breaking changes.
feat: debugger_kit: Debugger work in progress implementation.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/DebuggerKit')
| -rw-r--r-- | dev/DebuggerKit/CommonCLI.inl | 2 | ||||
| -rw-r--r-- | dev/DebuggerKit/NeKernelContract.h | 17 | ||||
| -rw-r--r-- | dev/DebuggerKit/POSIXMachContract.h | 8 | ||||
| -rw-r--r-- | dev/DebuggerKit/ld-nekernel.json | 4 | ||||
| -rw-r--r-- | dev/DebuggerKit/ld-osx.json | 4 | ||||
| -rw-r--r-- | dev/DebuggerKit/src/NeKernelContract.cc | 7 | ||||
| -rw-r--r-- | dev/DebuggerKit/src/NeKernelContractCLI.cc | 4 | ||||
| -rw-r--r-- | dev/DebuggerKit/src/POSIXMachContractCLI.cc | 2 |
8 files changed, 25 insertions, 23 deletions
diff --git a/dev/DebuggerKit/CommonCLI.inl b/dev/DebuggerKit/CommonCLI.inl index 325be23..cf006f5 100644 --- a/dev/DebuggerKit/CommonCLI.inl +++ b/dev/DebuggerKit/CommonCLI.inl @@ -17,7 +17,7 @@ static BOOL kKeepRunning = false; -#ifdef LD_NEKERNEL_DEBUGGER +#ifdef DK_NEKERNEL_DEBUGGER static DebuggerKit::NeKernel::NeKernelContract kKernelDebugger; #else static DebuggerKit::POSIX::POSIXMachContract kDebugger; diff --git a/dev/DebuggerKit/NeKernelContract.h b/dev/DebuggerKit/NeKernelContract.h index 9797639..20d86cd 100644 --- a/dev/DebuggerKit/NeKernelContract.h +++ b/dev/DebuggerKit/NeKernelContract.h @@ -3,10 +3,10 @@ (C) 2025 Amlal El Mahrouss */ -#ifndef LD_NEKERNEL_CONTRACT_H -#define LD_NEKERNEL_CONTRACT_H +#ifndef DK_NEKERNEL_CONTRACT_H +#define DK_NEKERNEL_CONTRACT_H -#ifdef LD_NEKERNEL_DEBUGGER +#ifdef DK_NEKERNEL_DEBUGGER #include <DebuggerKit/DebuggerContract.h> @@ -14,8 +14,11 @@ namespace DebuggerKit::NeKernel { class NeKernelContract; namespace Detail { - inline constexpr size_t kDebugCmdLen = 256U; - typedef char rt_debug_cmd[kDebugCmdLen]; + inline constexpr auto kDebugCmdLen = 256U; + inline constexpr auto kDebugPort = 51820; + inline constexpr auto kDebugMagic = "VMK1.0.0;"; + inline constexpr auto kDebugVersion = 0x0100; + typedef char rt_debug_cmd[kDebugCmdLen]; } // namespace Detail class NeKernelContract : public DebuggerContract { @@ -42,6 +45,6 @@ class NeKernelContract : public DebuggerContract { }; } // namespace DebuggerKit::NeKernel -#endif // ifdef LD_NEKERNEL_DEBUGGER +#endif // ifdef DK_NEKERNEL_DEBUGGER -#endif // LD_NEKERNEL_CONTRACT_H
\ No newline at end of file +#endif // DK_NEKERNEL_CONTRACT_H
\ No newline at end of file diff --git a/dev/DebuggerKit/POSIXMachContract.h b/dev/DebuggerKit/POSIXMachContract.h index a2c49ce..b04a13a 100644 --- a/dev/DebuggerKit/POSIXMachContract.h +++ b/dev/DebuggerKit/POSIXMachContract.h @@ -4,7 +4,7 @@ #pragma once -#ifdef LD_MACH_DEBUGGER +#ifdef DK_MACH_DEBUGGER /// @file POSIXMachContract.h /// @brief POSIX Mach debugger. @@ -28,10 +28,10 @@ #include <mach/mach_error.h> #include <signal.h> -LC_IMPORT_C kern_return_t mach_vm_write(vm_map_t target_task, mach_vm_address_t address, +CK_IMPORT_C kern_return_t mach_vm_write(vm_map_t target_task, mach_vm_address_t address, vm_offset_t data, mach_msg_type_number_t dataCnt); -LC_IMPORT_C kern_return_t mach_vm_protect(vm_map_t target_task, mach_vm_address_t address, +CK_IMPORT_C kern_return_t mach_vm_protect(vm_map_t target_task, mach_vm_address_t address, mach_vm_size_t size, boolean_t set_maximum, vm_prot_t new_protection); @@ -93,7 +93,7 @@ class POSIXMachContract : public DebuggerContract { BOOL BreakAt(std::string symbol) noexcept override { if (!m_path.empty() && std::filesystem::exists(m_path) && std::filesystem::is_regular_file(m_path)) { - auto handle = dlopen(m_path.c_str(), RTLD_LAZY); + auto handle = dlopen(m_path.c_str(), RTDK_LAZY); if (handle == nullptr) { return false; diff --git a/dev/DebuggerKit/ld-nekernel.json b/dev/DebuggerKit/ld-nekernel.json index be55d51..45ee51d 100644 --- a/dev/DebuggerKit/ld-nekernel.json +++ b/dev/DebuggerKit/ld-nekernel.json @@ -10,8 +10,8 @@ "compiler_flags": ["-fPIC", "-shared"], "cpp_macros": [ "__NECTI__=202505", - "LC_USE_STRUCTS=1", - "LD_NEKERNEL_DEBUGGER", + "CK_USE_STRUCTS=1", + "DK_NEKERNEL_DEBUGGER", "kDistReleaseBranch=$(git rev-parse --abbrev-ref HEAD)-$(uuidgen)" ] } diff --git a/dev/DebuggerKit/ld-osx.json b/dev/DebuggerKit/ld-osx.json index a7c5fac..c220756 100644 --- a/dev/DebuggerKit/ld-osx.json +++ b/dev/DebuggerKit/ld-osx.json @@ -10,9 +10,9 @@ "compiler_flags": ["-fPIC", "-shared"], "cpp_macros": [ "__NECTI__=202505", - "LC_USE_STRUCTS=1", + "CK_USE_STRUCTS=1", "DEBUGGERKIT_POSIX", - "LD_MACH_DEBUGGER", + "DK_MACH_DEBUGGER", "kDistReleaseBranch=$(git rev-parse --abbrev-ref HEAD)-$(uuidgen)" ] } diff --git a/dev/DebuggerKit/src/NeKernelContract.cc b/dev/DebuggerKit/src/NeKernelContract.cc index c78e2f2..a469e46 100644 --- a/dev/DebuggerKit/src/NeKernelContract.cc +++ b/dev/DebuggerKit/src/NeKernelContract.cc @@ -5,7 +5,7 @@ Purpose: NeKernel Debugger */ -#ifdef LD_NEKERNEL_DEBUGGER +#ifdef DK_NEKERNEL_DEBUGGER /// @author Amlal El Mahrouss /// @brief Kernel Debugger Protocol @@ -16,8 +16,6 @@ #include <DebuggerKit/Platform.h> -constexpr static UInt16 kDebugPort = 51820; - using namespace DebuggerKit::NeKernel; NeKernelContract::NeKernelContract() = default; @@ -26,6 +24,7 @@ NeKernelContract::~NeKernelContract() = default; BOOL NeKernelContract::Attach(CompilerKit::STLString path, CompilerKit::STLString argv, ProcessID& pid) noexcept { + if (path.empty() || argv.empty()) return NO; return NO; } @@ -45,4 +44,4 @@ BOOL NeKernelContract::Detach() noexcept { return NO; } -#endif // LD_NEKERNEL_DEBUGGER
\ No newline at end of file +#endif // DK_NEKERNEL_DEBUGGER
\ No newline at end of file diff --git a/dev/DebuggerKit/src/NeKernelContractCLI.cc b/dev/DebuggerKit/src/NeKernelContractCLI.cc index 49cf6c8..1dd87a5 100644 --- a/dev/DebuggerKit/src/NeKernelContractCLI.cc +++ b/dev/DebuggerKit/src/NeKernelContractCLI.cc @@ -5,7 +5,7 @@ Purpose: NeKernel Debugger CLI. */ -#ifdef LD_NEKERNEL_DEBUGGER +#ifdef DK_NEKERNEL_DEBUGGER #include <CompilerKit/Defines.h> #include <DebuggerKit/NeKernelContract.h> @@ -98,4 +98,4 @@ NECTI_MODULE(DebuggerNeKernel) { return EXIT_FAILURE; } -#endif // LD_NEKERNEL_DEBUGGER
\ No newline at end of file +#endif // DK_NEKERNEL_DEBUGGER
\ No newline at end of file diff --git a/dev/DebuggerKit/src/POSIXMachContractCLI.cc b/dev/DebuggerKit/src/POSIXMachContractCLI.cc index 80825c3..2b2ebc5 100644 --- a/dev/DebuggerKit/src/POSIXMachContractCLI.cc +++ b/dev/DebuggerKit/src/POSIXMachContractCLI.cc @@ -5,7 +5,7 @@ Purpose: OS X/Darwin Debugger */ -#ifdef LD_MACH_DEBUGGER +#ifdef DK_MACH_DEBUGGER #include <CompilerKit/Defines.h> #include <DebuggerKit/POSIXMachContract.h> |
