libintrovirt v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
introvirt::VirtualAddressNotPresentException Class Referencefinal

Thrown when translating a guest virtual address is marked as not present. More...

#include <VirtualAddressNotPresentException.hh>

Inheritance diagram for introvirt::VirtualAddressNotPresentException:
Collaboration diagram for introvirt::VirtualAddressNotPresentException:

Public Member Functions

uint64_t virtual_address () const
 Get the guest virtual address that was marked as not present.
 
uint64_t page_directory () const
 Get the page directory in use.
 
 VirtualAddressNotPresentException (uint64_t virtual_address, uint64_t page_directory)
 Construct a new Virtual Address Not Present Exception object.
 
 VirtualAddressNotPresentException (VirtualAddressNotPresentException &&) noexcept
 
VirtualAddressNotPresentExceptionoperator= (VirtualAddressNotPresentException &&) noexcept
 
 ~VirtualAddressNotPresentException () noexcept override
 
- Public Member Functions inherited from introvirt::MemoryException
 MemoryException (const std::string &message)
 Construct a new Memory Exception object.
 
 MemoryException (const std::string &message, int err)
 Construct a new Memory Exception object.
 
- Public Member Functions inherited from introvirt::TraceableException
int error_code () const
 Get the errno value if one was set.
 
 TraceableException (TraceableException &&) noexcept
 Move constructor.
 
TraceableExceptionoperator= (TraceableException &&) noexcept
 Move assignment operator.
 
 ~TraceableException () override
 Destroy the instance.
 

Additional Inherited Members

- Protected Member Functions inherited from introvirt::TraceableException
 TraceableException (const std::string &msg)
 Construct a new Traceable Exception object.
 
 TraceableException (const std::string &msg, int err)
 Construct a new Traceable Exception object with an erro code.
 

Detailed Description

Thrown when translating a guest virtual address is marked as not present.

This exception is thrown when we are unable to translate a guest virtual address into its physical address.

Examples
ivcallmon.cc, ivexec.cc, ivprocinfo.cc, and vmcall_interface.cc.

Constructor & Destructor Documentation

◆ VirtualAddressNotPresentException() [1/2]

introvirt::VirtualAddressNotPresentException::VirtualAddressNotPresentException ( uint64_t  virtual_address,
uint64_t  page_directory 
)

Construct a new Virtual Address Not Present Exception object.

Parameters
virtual_addressThe virtual address that was not present
page_directoryThe paging directory that was used

◆ VirtualAddressNotPresentException() [2/2]

introvirt::VirtualAddressNotPresentException::VirtualAddressNotPresentException ( VirtualAddressNotPresentException &&  )
noexcept

◆ ~VirtualAddressNotPresentException()

introvirt::VirtualAddressNotPresentException::~VirtualAddressNotPresentException ( )
overridenoexcept

Member Function Documentation

◆ operator=()

VirtualAddressNotPresentException & introvirt::VirtualAddressNotPresentException::operator= ( VirtualAddressNotPresentException &&  )
noexcept

◆ page_directory()

uint64_t introvirt::VirtualAddressNotPresentException::page_directory ( ) const

Get the page directory in use.

Returns
uint64_t

◆ virtual_address()

uint64_t introvirt::VirtualAddressNotPresentException::virtual_address ( ) const

Get the guest virtual address that was marked as not present.

Returns
The virtual address that failed to translate

The documentation for this class was generated from the following file: