From bcc6100941117dc84fb9ece3812da340d96c61a6 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Tue, 2 Dec 2025 15:47:44 -0500 Subject: chore! reworked source code to exclude `Bool`, `Boolean`, and `nullPtr` macros. fix: ErrorOr: Return `Ref&` when using Leak. Signed-off-by: Amlal El Mahrouss --- src/DebuggerKit/Common.inl | 23 +++++++++++++++++++++++ src/DebuggerKit/CommonCLI.inl | 23 ----------------------- src/DebuggerKit/Config.h | 2 +- src/DebuggerKit/DebuggerContract.h | 14 +++++++------- src/DebuggerKit/POSIXMachContract.h | 10 +++++----- src/DebuggerKit/src/NeKernelContract.cc | 14 +++++++------- src/DebuggerKit/src/NeKernelContractCLI.cc | 2 +- src/DebuggerKit/src/POSIXMachContractCLI.cc | 3 ++- 8 files changed, 46 insertions(+), 45 deletions(-) create mode 100644 src/DebuggerKit/Common.inl delete mode 100644 src/DebuggerKit/CommonCLI.inl (limited to 'src/DebuggerKit') diff --git a/src/DebuggerKit/Common.inl b/src/DebuggerKit/Common.inl new file mode 100644 index 0000000..c630041 --- /dev/null +++ b/src/DebuggerKit/Common.inl @@ -0,0 +1,23 @@ +/* ======================================== + + Copyright (C) 2025 Amlal El Mahrouss, Licensed under the Apache 2.0 license. + +======================================== */ + +#define kBlank "\e[0;30m" +#define kRed "\e[0;31m" +#define kWhite "\e[0;97m" + +#define kStdOut (std::cout << kRed << "dbg: " << kWhite) + +inline bool kKeepRunning = false; + +#ifdef DK_NEKERNEL_DEBUGGER +inline DebuggerKit::NeKernel::NeKernelContract kKernelDebugger; +#else +inline DebuggerKit::POSIX::POSIXMachContract kUserDebugger; +#endif + +static DebuggerKit::ProcessID kPID = 0L; +static DebuggerKit::CAddress kActiveAddress = nullptr; +static CompilerKit::STLString kPath = ""; diff --git a/src/DebuggerKit/CommonCLI.inl b/src/DebuggerKit/CommonCLI.inl deleted file mode 100644 index e06a9b9..0000000 --- a/src/DebuggerKit/CommonCLI.inl +++ /dev/null @@ -1,23 +0,0 @@ -/* ======================================== - - Copyright (C) 2025 Amlal El Mahrouss, Licensed under the Apache 2.0 license. - -======================================== */ - -#define kBlank "\e[0;30m" -#define kRed "\e[0;31m" -#define kWhite "\e[0;97m" - -#define kStdOut (std::cout << kRed << "dbg: " << kWhite) - -static Bool kKeepRunning = false; - -#ifdef DK_NEKERNEL_DEBUGGER -static DebuggerKit::NeKernel::NeKernelContract kKernelDebugger; -#else -static DebuggerKit::POSIX::POSIXMachContract kUserDebugger; -#endif - -static DebuggerKit::ProcessID kPID = 0L; -static DebuggerKit::CAddress kActiveAddress = nullptr; -static CompilerKit::STLString kPath = ""; diff --git a/src/DebuggerKit/Config.h b/src/DebuggerKit/Config.h index 7e589d2..863567f 100644 --- a/src/DebuggerKit/Config.h +++ b/src/DebuggerKit/Config.h @@ -41,4 +41,4 @@ #define kDistRelease ToString(kDistReleaseBranch) -#endif // !kDistRelease \ No newline at end of file +#endif // !kDistRelease \ No newline at end of file diff --git a/src/DebuggerKit/DebuggerContract.h b/src/DebuggerKit/DebuggerContract.h index 424bd80..4585790 100644 --- a/src/DebuggerKit/DebuggerContract.h +++ b/src/DebuggerKit/DebuggerContract.h @@ -9,10 +9,10 @@ #include #include -#define DK_DEBUGGER_CONTRACT : public ::DebuggerKit::DebuggerContract +#define DK_DEBUGGER_CONTRACT : public ::DebuggerKit::IDebuggerContract namespace DebuggerKit { -class DebuggerContract; +class IDebuggerContract; /// =========================================================== /// /// \brief Process ID @@ -28,14 +28,14 @@ typedef char* CAddress; /// \brief Debugger contract class in C++, as per the design states. /// \author Amlal El Mahrouss /// =========================================================== /// -class DebuggerContract { +class IDebuggerContract { public: - explicit DebuggerContract() = default; - virtual ~DebuggerContract() = default; + explicit IDebuggerContract() = default; + virtual ~IDebuggerContract() = default; public: - DebuggerContract& operator=(const DebuggerContract&) = default; - DebuggerContract(const DebuggerContract&) = default; + IDebuggerContract& operator=(const IDebuggerContract&) = default; + IDebuggerContract(const IDebuggerContract&) = default; public: virtual bool Attach(std::string path, std::string argv, ProcessID& pid) noexcept = 0; diff --git a/src/DebuggerKit/POSIXMachContract.h b/src/DebuggerKit/POSIXMachContract.h index 76aa238..abf23b5 100644 --- a/src/DebuggerKit/POSIXMachContract.h +++ b/src/DebuggerKit/POSIXMachContract.h @@ -45,7 +45,7 @@ class POSIXMachContract final DK_DEBUGGER_CONTRACT { POSIXMachContract(const POSIXMachContract&) = default; public: - Bool Attach(CompilerKit::STLString path, CompilerKit::STLString argv, + bool Attach(CompilerKit::STLString path, CompilerKit::STLString argv, ProcessID& pid) noexcept override { pid = fork(); @@ -82,7 +82,7 @@ class POSIXMachContract final DK_DEBUGGER_CONTRACT { m_path = path; } - Bool BreakAt(CompilerKit::STLString symbol) noexcept override { + bool BreakAt(CompilerKit::STLString 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); @@ -116,7 +116,7 @@ class POSIXMachContract final DK_DEBUGGER_CONTRACT { } #ifdef __APPLE__ - Bool Break() noexcept override { + bool Break() noexcept override { task_read_t task; task_for_pid(mach_task_self(), m_pid, &task); @@ -125,7 +125,7 @@ class POSIXMachContract final DK_DEBUGGER_CONTRACT { return ret == KERN_SUCCESS; } - Bool Continue() noexcept override { + bool Continue() noexcept override { task_read_t task; task_for_pid(mach_task_self(), m_pid, &task); @@ -134,7 +134,7 @@ class POSIXMachContract final DK_DEBUGGER_CONTRACT { return ret == KERN_SUCCESS; } - Bool Detach() noexcept override { + bool Detach() noexcept override { this->Continue(); task_read_t task; diff --git a/src/DebuggerKit/src/NeKernelContract.cc b/src/DebuggerKit/src/NeKernelContract.cc index 84a25eb..6cc6307 100644 --- a/src/DebuggerKit/src/NeKernelContract.cc +++ b/src/DebuggerKit/src/NeKernelContract.cc @@ -21,7 +21,7 @@ NeKernelContract::NeKernelContract() = default; NeKernelContract::~NeKernelContract() = default; -Bool NeKernelContract::Attach(CompilerKit::STLString path, CompilerKit::STLString argv, +bool NeKernelContract::Attach(CompilerKit::STLString path, CompilerKit::STLString argv, ProcessID& pid) noexcept { if (path.empty() || argv.empty()) return NO; @@ -47,11 +47,11 @@ Bool NeKernelContract::Attach(CompilerKit::STLString path, CompilerKit::STLStrin return ret; } -Bool NeKernelContract::BreakAt(CompilerKit::STLString symbol) noexcept { +bool NeKernelContract::BreakAt(CompilerKit::STLString symbol) noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; - pkt += ";SYM="; + pkt += ";SYM=\""; pkt += symbol; - pkt += ";\r"; + pkt += "\";\r"; if (pkt.size() > kDebugCmdLen) return NO; @@ -59,7 +59,7 @@ Bool NeKernelContract::BreakAt(CompilerKit::STLString symbol) noexcept { return ret; } -Bool NeKernelContract::Break() noexcept { +bool NeKernelContract::Break() noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";BRK=1;\r"; @@ -67,7 +67,7 @@ Bool NeKernelContract::Break() noexcept { return ret; } -Bool NeKernelContract::Continue() noexcept { +bool NeKernelContract::Continue() noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";CONT=1;\r"; @@ -76,7 +76,7 @@ Bool NeKernelContract::Continue() noexcept { return NO; } -Bool NeKernelContract::Detach() noexcept { +bool NeKernelContract::Detach() noexcept { CompilerKit::STLString pkt = Detail::kDebugMagic; pkt += ";DTCH=1;\r"; diff --git a/src/DebuggerKit/src/NeKernelContractCLI.cc b/src/DebuggerKit/src/NeKernelContractCLI.cc index 6c55c44..7b33c78 100644 --- a/src/DebuggerKit/src/NeKernelContractCLI.cc +++ b/src/DebuggerKit/src/NeKernelContractCLI.cc @@ -11,7 +11,7 @@ #include #include -#include +#include using namespace DebuggerKit::NeKernel; diff --git a/src/DebuggerKit/src/POSIXMachContractCLI.cc b/src/DebuggerKit/src/POSIXMachContractCLI.cc index 2beaa9a..a421af4 100644 --- a/src/DebuggerKit/src/POSIXMachContractCLI.cc +++ b/src/DebuggerKit/src/POSIXMachContractCLI.cc @@ -9,9 +9,10 @@ #include #include #include -#include #ifdef __APPLE__ +#include + /// @internal /// @brief Handles CTRL-C signal on debugger. static void dbgi_ctrlc_handler(std::int32_t _) { -- cgit v1.2.3