diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-05-29 10:48:12 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-29 10:48:12 +0200 |
| commit | 433bb5ef102b2bfa0049468be00d63011da8b973 (patch) | |
| tree | e0893a30710477045a5bb085cb7a27aada425c14 /dev/LibDebugger/src/NeKernelContractCLI.cc | |
| parent | 1ddeab9a4426abd781a5066ba79af2ba64de11d9 (diff) | |
| parent | 756ee7f8dc954e27350fe5bdfbaa83b9f69780c8 (diff) | |
Merge pull request #6 from nekernel-org/dev
0.0.2e3
Diffstat (limited to 'dev/LibDebugger/src/NeKernelContractCLI.cc')
| -rw-r--r-- | dev/LibDebugger/src/NeKernelContractCLI.cc | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/dev/LibDebugger/src/NeKernelContractCLI.cc b/dev/LibDebugger/src/NeKernelContractCLI.cc new file mode 100644 index 0000000..0107b7c --- /dev/null +++ b/dev/LibDebugger/src/NeKernelContractCLI.cc @@ -0,0 +1,42 @@ +/*** + 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]) == "-k" && argv[2] != nullptr) { + kPath = argv[2]; + kStdOut << "[+] Kernel (ne_kernel) set to: " << kPath << "\n"; + + kKernelDebugger.Attach(kPath, nullptr, kPID); + kKernelDebugger.Breakpoint("$HANDOVER_START"); + + return EXIT_SUCCESS; + } + + kStdOut << "Usage: " << argv[0] << " -k <kernel_path>\n"; + kStdOut << "Example: " << argv[0] << " -k /path/to/ne_kernel\n"; + + return EXIT_FAILURE; +} + +#endif // LD_NEKERNEL_DEBUGGER
\ No newline at end of file |
