A better test program for core files.

This commit is contained in:
Ernie Pasveer
2025-09-07 12:43:30 -05:00
parent a552b7d63a
commit be14aa11af
6 changed files with 70 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
hellocore
*.seer
core.*
+10
View File
@@ -0,0 +1,10 @@
.PHONY: all
all: hellocore
hellocore: hellocore.cpp
g++ -g -o hellocore hellocore.cpp function1.cpp
.PHONY: clean
clean:
rm -f hellocore hellocore.o function1.o
+11
View File
@@ -0,0 +1,11 @@
See notes/README.coredump
Quick setup. Some as root.
% ulimit -c unlimited
% install -m 1777 -d /var/local/dumps
% (root) echo "/var/local/dumps/core.%e.%p"> /proc/sys/kernel/core_pattern
% (root) rcapparmor stop
% (root) sysctl -w kernel.suid_dumpable=2
+23
View File
@@ -0,0 +1,23 @@
#include "function1.h"
#include <iostream>
#include <unistd.h>
#include <signal.h>
void function1 (const std::string& text) {
int i = 42;
sleep(2); // Simulate doing work.
std::cout << text << i << std::endl;
//raise(SIGSEGV);
int* x = 0;
*x = 2112;
sleep(3); // Simulate doing work.
}
+6
View File
@@ -0,0 +1,6 @@
#pragma once
#include <string>
void function1 (const std::string& text);
+17
View File
@@ -0,0 +1,17 @@
#include "function1.h"
#include <string>
#include <iostream>
int main (int argc, char** argv) {
for (int i=0; i<argc; i++) {
std::cout << "XX: " << i << " " << argv[i] << std::endl;
}
std::string message = "Hello, World!";
function1(message);
return 0;
}