Simple Virtual Machine A simple but flexible virtual machine

Loading...
Searching...
No Matches
Functions
SVM debugger instruction
SVM debugger

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.

## 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted processor is.
  [in] | symbol | The address of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted processor is.
  [in] | interruption | The interruption of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted memory is.
  [in] | address | The memory address of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted memory is.
  [in] | address | The memory address of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted memory is.
  [in] | address | The memory address of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted memory is.
  [in] | address | The memory address of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted processor is.
  [in] | symbol | The address of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted processor is.
  [in] | interruption | The interruption of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted memory is.
  [in] | address | The memory address of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted memory is.
  [in] | address | The memory address of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted memory is.
  [in] | address | The memory address of the breakpoint.

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

Exceptions

  FAILURE | interruption when a parameter is incorrect. (Please refer to the main description page of this API.)
  FAILURE | interruption 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] | svm | The SVM pointer passed as first argument of the callback function.
  [in] | kernel | The kernel in which the targeted memory is.
  [in] | address | The memory address of the breakpoint.

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

Exceptions

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