Simple Virtual Machine
A simple but flexible virtual machine
SVM debugger instruction

This module contains API functions to handle SVM debugger instruction equivalents. More...

Functions

SVM_FUNCTION void svm_debug_breakpoint_add_break (const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol)
 This function adds a breakpoint on a processor. More...
 
SVM_FUNCTION void svm_debug_breakpoint_remove_break (const void *svm, const SVM_Kernel kernel, const SVM_Value_Symbol symbol)
 This function removes a breakpoint on a processor. More...
 
SVM_FUNCTION void svm_debug_breakpoint_add_interruption (const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption)
 This function adds a breakpoint by interruption on a processor. More...
 
SVM_FUNCTION void svm_debug_breakpoint_remove_interruption (const void *svm, const SVM_Kernel kernel, const SVM_Value_Interruption interruption)
 This function removes a breakpoint by interruption on a processor. More...
 
SVM_FUNCTION void svm_debug_breakpoint_add_memoryread (const void *svm, const SVM_Kernel kernel, const SVM_Address address)
 This function adds a breakpoint by memory read on a memory. More...
 
SVM_FUNCTION void svm_debug_breakpoint_remove_memoryread (const void *svm, const SVM_Kernel kernel, const SVM_Address address)
 This function removes a breakpoint by memory read on a memory. More...
 
SVM_FUNCTION void svm_debug_breakpoint_add_memorywrite (const void *svm, const SVM_Kernel kernel, const SVM_Address address)
 This function adds a breakpoint by memory write on a memory. More...
 
SVM_FUNCTION void svm_debug_breakpoint_remove_memorywrite (const void *svm, const SVM_Kernel kernel, const SVM_Address address)
 This function removes a breakpoint by memory write on a memory. More...
 
SVM_FUNCTION void svm_debug_breakpoint_add_memoryaccess (const void *svm, const SVM_Kernel kernel, const SVM_Address address)
 This function adds a breakpoint by memory access on a memory. More...
 
SVM_FUNCTION void svm_debug_breakpoint_remove_memoryaccess (const void *svm, const SVM_Kernel kernel, const SVM_Address address)
 This function removes a breakpoint by memory access on a memory. More...
 
SVM_FUNCTION void svm_debug_breakpoint_add_memoryfree (const void *svm, const SVM_Kernel kernel, const SVM_Address address)
 This function adds a breakpoint by memory delete on a memory. More...
 
SVM_FUNCTION void svm_debug_breakpoint_remove_memoryfree (const void *svm, const SVM_Kernel kernel, const SVM_Address address)
 This function removes a breakpoint by memory delete on a memory. More...
 

Detailed Description

This module contains API functions to handle SVM debugger instruction equivalents.

Function Documentation

◆ svm_debug_breakpoint_add_break()

SVM_FUNCTION void svm_debug_breakpoint_add_break ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Value_Symbol  symbol 
)

This function adds a breakpoint on a processor.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted processor is.
[in]symbolThe address of the breakpoint.

The added breakpoint is equivalent to the one set through the debugger user interface.

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_add_interruption()

SVM_FUNCTION void svm_debug_breakpoint_add_interruption ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Value_Interruption  interruption 
)

This function adds a breakpoint by interruption on a processor.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted processor is.
[in]interruptionThe interruption of the breakpoint.

The added breakpoint is the one set by the instruction :debug ADD

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_add_memoryaccess()

SVM_FUNCTION void svm_debug_breakpoint_add_memoryaccess ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Address  address 
)

This function adds a breakpoint by memory access on a memory.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted memory is.
[in]addressThe memory address of the breakpoint.

The added breakpoint is the one set by the instruction :debug ADD ACCESS

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_add_memoryfree()

SVM_FUNCTION void svm_debug_breakpoint_add_memoryfree ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Address  address 
)

This function adds a breakpoint by memory delete on a memory.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted memory is.
[in]addressThe memory address of the breakpoint.

The added breakpoint is the one set by the instruction :debug ADD DELETE

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_add_memoryread()

SVM_FUNCTION void svm_debug_breakpoint_add_memoryread ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Address  address 
)

This function adds a breakpoint by memory read on a memory.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted memory is.
[in]addressThe memory address of the breakpoint.

The added breakpoint is the one set by the instruction :debug ADD READ

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_add_memorywrite()

SVM_FUNCTION void svm_debug_breakpoint_add_memorywrite ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Address  address 
)

This function adds a breakpoint by memory write on a memory.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted memory is.
[in]addressThe memory address of the breakpoint.

The added breakpoint is the one set by the instruction :debug ADD WRITE

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_remove_break()

SVM_FUNCTION void svm_debug_breakpoint_remove_break ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Value_Symbol  symbol 
)

This function removes a breakpoint on a processor.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted processor is.
[in]symbolThe address of the breakpoint.

The removed breakpoint is equivalent to the one set through the debugger user interface.

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_remove_interruption()

SVM_FUNCTION void svm_debug_breakpoint_remove_interruption ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Value_Interruption  interruption 
)

This function removes a breakpoint by interruption on a processor.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted processor is.
[in]interruptionThe interruption of the breakpoint.

The removed breakpoint is the one reset by the instruction :debug REMOVE

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_remove_memoryaccess()

SVM_FUNCTION void svm_debug_breakpoint_remove_memoryaccess ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Address  address 
)

This function removes a breakpoint by memory access on a memory.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted memory is.
[in]addressThe memory address of the breakpoint.

The removed breakpoint is the one reset by the instruction :debug REMOVE ACCESS

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_remove_memoryfree()

SVM_FUNCTION void svm_debug_breakpoint_remove_memoryfree ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Address  address 
)

This function removes a breakpoint by memory delete on a memory.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted memory is.
[in]addressThe memory address of the breakpoint.

The removed breakpoint is the one reset by the instruction :debug REMOVE DELETE

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_remove_memoryread()

SVM_FUNCTION void svm_debug_breakpoint_remove_memoryread ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Address  address 
)

This function removes a breakpoint by memory read on a memory.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted memory is.
[in]addressThe memory address of the breakpoint.

The removed breakpoint is the one reset by the instruction :debug REMOVE READ

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.

◆ svm_debug_breakpoint_remove_memorywrite()

SVM_FUNCTION void svm_debug_breakpoint_remove_memorywrite ( const void *  svm,
const SVM_Kernel  kernel,
const SVM_Address  address 
)

This function removes a breakpoint by memory write on a memory.

Parameters
[in]svmThe SVM pointer passed as first argument of the callback function.
[in]kernelThe kernel in which the targeted memory is.
[in]addressThe memory address of the breakpoint.

The removed breakpoint is the one reset by the instruction :debug REMOVE WRITE

Exceptions
FAILUREinterruption when a parameter is incorrect. (Please refer to the main description page of this API.)
FAILUREinterruption when the kernel is not owned by our process or is not in a process locked by ours.