summaryrefslogtreecommitdiffhomepage
path: root/dev/DebuggerKit
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-08-05 09:57:44 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-08-05 09:57:44 +0100
commit5f8ee9584a7a5c911d46f73e24ec7a1201058c50 (patch)
treed31ac096094430ca93e521ef233144d969ad6427 /dev/DebuggerKit
parentb0c5f2a2683657182f5ce3dc3bcbf252164b0077 (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.inl2
-rw-r--r--dev/DebuggerKit/NeKernelContract.h17
-rw-r--r--dev/DebuggerKit/POSIXMachContract.h8
-rw-r--r--dev/DebuggerKit/ld-nekernel.json4
-rw-r--r--dev/DebuggerKit/ld-osx.json4
-rw-r--r--dev/DebuggerKit/src/NeKernelContract.cc7
-rw-r--r--dev/DebuggerKit/src/NeKernelContractCLI.cc4
-rw-r--r--dev/DebuggerKit/src/POSIXMachContractCLI.cc2
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>