forked from em-and-m/libcrash
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
63 lines (38 loc) · 1.23 KB
/
README
File metadata and controls
63 lines (38 loc) · 1.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
libcrash
Building
~~~~~~~~
# make
or
# CROSS_COMPILE=/path/to/toolchain/toolchain_refix- make
Testing
~~~~~~~
Two tests and one utility program for testing are provided.
test: normal applciation test (application calls
registration function).
auto_test: automagic usage test (library loads magically
with unaltered program)
To run the tests -
for normal usage:
# ./test
for automagicall usage:
# ldconfig -n .
# LD_PRELOAD=libauto_crash.so.1 ./auto_test
Usage
~~~~~
Have your program link with libcrash.so.1 and call register_crash_handler() once
for each process (not thread):
int register_crash_handler(
const char * process_name, /* Name of Process, such as argv[0] */
unsigned char * assert_buf_ptr /* Pointer to program assert buffer */
);
Re-call after fork().
The registrtation functrion return 0 if all is well, and a negative number
with the value of the errno function that cause it to fail otherwise.
See test.c for usage example.
Normally running the program should then use the library and we'll send crash info to
tdout
Alternatibly, you can use
# LD_PRELOAD=libauto_crash.so.1 ./program
To run the library with an unchanged (but non SUID) binary program with no source alterations.
Happy hacking,
gby