From d87c3f51187ed4135b53a93e7dd73be9d0d5f7a4 Mon Sep 17 00:00:00 2001 From: Matti Date: Thu, 21 Nov 2024 17:06:47 +0100 Subject: [PATCH] Add SEGV Creator / Handler --- ActualMain.cpp | 4 +++- Aufg7/SegFault.cpp | 20 ++++++++++++++++++++ Aufg7/SegFault.h | 10 ++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 Aufg7/SegFault.cpp create mode 100644 Aufg7/SegFault.h diff --git a/ActualMain.cpp b/ActualMain.cpp index 870f58f..d91ee92 100644 --- a/ActualMain.cpp +++ b/ActualMain.cpp @@ -7,6 +7,7 @@ #include "Aufg4/CrimeStats.h" #include "Aufg5/Mastermind.h" #include "Aufg6/MineSweeper.h" +#include "Aufg7/SegFault.h" int main() { // Aufg1Main(); @@ -14,5 +15,6 @@ int main() { // Aufg3Main(); // Aufg4Main(); // Aufg5Main(); - Aufg6Main(); + // Aufg6Main(); + Aufg7Main(); } diff --git a/Aufg7/SegFault.cpp b/Aufg7/SegFault.cpp new file mode 100644 index 0000000..c3295ea --- /dev/null +++ b/Aufg7/SegFault.cpp @@ -0,0 +1,20 @@ +#include +#include +#include + +namespace { + volatile std::sig_atomic_t gSignalStatus; +} + +void signal_handler(int sig) { + gSignalStatus = sig; + std::cout << "Du programmierst auch wie einer der auf Fußbilder von West-somalischen Piraten-Papageien abfährt"; +} + +int Aufg7Main() { + + signal(SIGSEGV, signal_handler); + + int* a = nullptr; + *a = 2; +} \ No newline at end of file diff --git a/Aufg7/SegFault.h b/Aufg7/SegFault.h new file mode 100644 index 0000000..4180713 --- /dev/null +++ b/Aufg7/SegFault.h @@ -0,0 +1,10 @@ +// +// Created by DH10MBO on 21.11.2024. +// + +#ifndef SEGFAULT_H +#define SEGFAULT_H + +int Aufg7Main(); + +#endif //SEGFAULT_H