summaryrefslogtreecommitdiffhomepage
path: root/dev/LibDebugger/src/NeKernelContractCLI.cc
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-14 14:27:43 +0200
committerAmlal El Mahrouss <amlal@nekernel.org>2025-05-14 14:27:43 +0200
commit94ceccd5acda2fd035eb55235126b944b0915576 (patch)
tree8189412a45182b418cc3d0d63996c482e116e8d4 /dev/LibDebugger/src/NeKernelContractCLI.cc
parentbdab776c880e4f4868332c451b028684f54ecd5d (diff)
dev(kdbg): Working on NeKernel Debugger.
how: - Load vmkrnl.efi. - Keep track of IP, Stack, and debugging information related to the kernel. - Make use of breakpoints and provide lldb grade experience. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/LibDebugger/src/NeKernelContractCLI.cc')
-rw-r--r--dev/LibDebugger/src/NeKernelContractCLI.cc35
1 files changed, 35 insertions, 0 deletions
diff --git a/dev/LibDebugger/src/NeKernelContractCLI.cc b/dev/LibDebugger/src/NeKernelContractCLI.cc
new file mode 100644
index 0000000..1f05ff2
--- /dev/null
+++ b/dev/LibDebugger/src/NeKernelContractCLI.cc
@@ -0,0 +1,35 @@
+/***
+ LibDebugger
+ (C) 2025 Amlal El Mahrouss
+ File: NeKernelContract.cc
+ Purpose: NeKernel Debugger CLI.
+*/
+
+#ifdef LD_NEKERNEL_DEBUGGER
+
+#include <LibCompiler/Defines.h>
+#include <LibDebugger/NeKernelContract.h>
+#include <Vendor/Dialogs.h>
+
+#include <cstdint>
+#include <iostream>
+#include <string>
+
+#include <LibDebugger/CommonCLI.inl>
+
+using namespace LibDebugger::NeKernel;
+
+LIBCOMPILER_MODULE(DebuggerNeKernel) {
+ pfd::notify("Debugger Event",
+ "Kernel Debugger\n(C) 2025 Amlal El Mahrouss, all rights reserved.");
+
+ if (argc >= 3 && std::string(argv[1]) == "-p" && argv[2] != nullptr) {
+ kPath = argv[2];
+ kStdOut << "[+] Kernel image set to: " << kPath << "\n";
+ }
+
+
+ return EXIT_SUCCESS;
+}
+
+#endif // LD_NEKERNEL_DEBUGGER \ No newline at end of file