projects
/
model-checker.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
70515e1
)
snapshot: print stack trace on segfault
author
Brian Norris
<banorris@uci.edu>
Thu, 13 Sep 2012 21:47:44 +0000
(14:47 -0700)
committer
Brian Norris
<banorris@uci.edu>
Thu, 13 Sep 2012 21:47:44 +0000
(14:47 -0700)
snapshot.cc
patch
|
blob
|
history
diff --git
a/snapshot.cc
b/snapshot.cc
index 95a6593a44829c1ae4c1152203b2bbee1162cb94..b7e4ec1ca5ae789915e6ff2931e73668bb845034 100644
(file)
--- a/
snapshot.cc
+++ b/
snapshot.cc
@@
-17,6
+17,8
@@
#include <sys/wait.h>
#include <ucontext.h>
#include <sys/wait.h>
#include <ucontext.h>
+#include "common.h"
+
#define FAILURE(mesg) { printf("failed in the API: %s with errno relative message: %s\n", mesg, strerror( errno ) ); exit(EXIT_FAILURE); }
#ifdef CONFIG_SSDEBUG
#define FAILURE(mesg) { printf("failed in the API: %s with errno relative message: %s\n", mesg, strerror( errno ) ); exit(EXIT_FAILURE); }
#ifdef CONFIG_SSDEBUG
@@
-86,6
+88,7
@@
static void initSnapShotRecord(unsigned int numbackingpages, unsigned int numsna
static void HandlePF( int sig, siginfo_t *si, void * unused){
if( si->si_code == SEGV_MAPERR ){
printf("Real Fault at %p\n", si->si_addr);
static void HandlePF( int sig, siginfo_t *si, void * unused){
if( si->si_code == SEGV_MAPERR ){
printf("Real Fault at %p\n", si->si_addr);
+ print_trace();
exit( EXIT_FAILURE );
}
void* addr = ReturnPageAlignedAddress(si->si_addr);
exit( EXIT_FAILURE );
}
void* addr = ReturnPageAlignedAddress(si->si_addr);