#include <PtrAccessSEGVHandler.h>
Definition at line 28 of file PtrAccessSEGVHandler.h.
◆ accessed_t
◆ const_iterator
◆ PtrAccessSEGVHandler()
PtrAccessSEGVHandler::PtrAccessSEGVHandler |
( |
PageAccessControl & |
pac, |
|
|
size_t |
reservedSize = 65535 |
|
) |
| |
|
inline |
◆ accessedPtrs()
◆ beginAccessedPtrs()
◆ endAccessedPtrs()
◆ handle()
void PtrAccessSEGVHandler::handle |
( |
int |
signal_number, |
|
|
siginfo_t * |
sigi, |
|
|
void * |
unused |
|
) |
| |
the actual signal handler
Definition at line 13 of file PtrAccessSEGVHandler.cxx.
14 void *addr=sigi->si_addr;
16 printf(
"page fault @address=%p\n",sigi->si_addr);
17 #ifdef __ARCH_SI_TRAPNO
18 printf(
"page fault trapno=%d\n",sigi->si_trapno);
20 printf(
"page fault signo=%d\n",sigi->si_signo);
21 printf(
"page fault errno=%d\n",sigi->si_errno);
22 printf(
"this page fault failed because ");
23 if (SEGV_MAPERR == sigi->si_code)
24 printf(
"you tried to access an invalid address\n");
25 else if (SEGV_ACCERR == sigi->si_code) {
26 printf(
"you tried to access a protected address\n");
27 }
else printf(
" an unknown reason. Page fault code=%d\n",sigi->si_code);
30 if (SEGV_ACCERR == sigi->si_code) {
31 m_pac.restorePageProt(addr);
◆ reset()
void PtrAccessSEGVHandler::reset |
( |
| ) |
|
|
inline |
◆ m_accessed
◆ m_pac
The documentation for this class was generated from the following files: