Class implementing breakpoint for debugging.
More...
#include <QoreProgram.h>
|
DLLEXPORT void | addThreadId (int tid, ExceptionSink *xsink) |
|
DLLEXPORT void | assignProgram (QoreProgram *new_pgm, ExceptionSink *xsink) |
|
DLLEXPORT void | assignStatement (AbstractStatement *statement, ExceptionSink *xsink) |
|
DLLEXPORT void | clearThreadIds (ExceptionSink *xsink) |
|
DLLEXPORT unsigned | getBreakpointId () const |
| get the breakpoint id
|
|
DLLEXPORT QoreListNode * | getStatementIds (ExceptionSink *xsink) |
|
DLLEXPORT void | getStatements (AbstractStatementList_t &statList, ExceptionSink *xsink) |
|
DLLEXPORT void | getThreadIds (TidList_t &tidList, ExceptionSink *xsink) |
|
DLLEXPORT bool | isThreadId (int tid, ExceptionSink *xsink) |
|
DLLEXPORT QoreBreakpoint & | operator= (const QoreBreakpoint &other) |
|
DLLEXPORT void | removeThreadId (int tid, ExceptionSink *xsink) |
|
DLLEXPORT AbstractStatement * | resolveStatementId (unsigned long statementId, ExceptionSink *xsink) const |
|
DLLEXPORT void | setThreadIds (TidList_t tidList, ExceptionSink *xsink) |
|
DLLEXPORT void | unassignStatement (AbstractStatement *statement, ExceptionSink *xsink) |
|
virtual DLLLOCAL void | deref () |
| decrements the reference count of the object without the possibility of throwing a Qore-language exception
|
|
virtual DLLLOCAL void | deref (ExceptionSink *xsink) |
| decrements the reference count of the object
|
|
DLLLOCAL void | ref () const |
| increments the reference count of the object
|
|
DLLEXPORT | QoreReferenceCounter () |
| Creates the reference counter object.
|
|
DLLEXPORT | QoreReferenceCounter (const QoreReferenceCounter &old) |
| Creates a new object with a reference count of 1.
|
|
DLLEXPORT | ~QoreReferenceCounter () |
| destroys the reference counter object
|
|
DLLEXPORT bool | is_unique () const |
| Returns true if the reference count is 1.
|
|
DLLEXPORT bool | optRef () |
| Make a strong reference only if the object is valid.
|
|
DLLEXPORT int | reference_count () const |
| Gets the reference count.
|
|
DLLEXPORT bool | ROdereference () const |
| Atomically decrements the reference count.
|
|
DLLEXPORT void | ROreference () const |
| Atomically increments the reference count.
|
|
|
virtual DLLLOCAL bool | checkBreak () const |
| check if program flow should be interrupted
|
|
virtual DLLLOCAL | ~AbstractPrivateData () |
| as these objects are reference counted, the destructor should be called only when the reference count = 0 and not manually
|
|
Class implementing breakpoint for debugging.
Breakpoint is assigned to one or more statements. When such a statement is executed then breakpoint is probed using checkBreak and program is potentially interrupted and callback QoreDebugProgram is triggered. The instance must be assigned to a QoreProgram
◆ addThreadId()
DLLEXPORT void QoreBreakpoint::addThreadId |
( |
int |
tid, |
|
|
ExceptionSink * |
xsink |
|
) |
| |
Add thread ID to the list
◆ assignProgram()
Assign QoreProgram to breakpoint.
- Parameters
-
new_pgm | QoreProgram to be assigned, when NULL then unassigns Program and deletes all statement references |
xsink | if an error occurs, the Qore-language exception information will be added here |
◆ assignStatement()
DLLEXPORT void QoreBreakpoint::assignStatement |
( |
AbstractStatement * |
statement, |
|
|
ExceptionSink * |
xsink |
|
) |
| |
Assign breakpoint to a statement.
◆ clearThreadIds()
DLLEXPORT void QoreBreakpoint::clearThreadIds |
( |
ExceptionSink * |
xsink | ) |
|
Clear list of the thread IDs
◆ getBreakpointId()
DLLEXPORT unsigned QoreBreakpoint::getBreakpointId |
( |
| ) |
const |
get the breakpoint id
- Returns
- the breakpoint id which is unique number
◆ getStatementIds()
Get list of statement ids
◆ getStatements()
DLLEXPORT void QoreBreakpoint::getStatements |
( |
AbstractStatementList_t & |
statList, |
|
|
ExceptionSink * |
xsink |
|
) |
| |
◆ getThreadIds()
DLLEXPORT void QoreBreakpoint::getThreadIds |
( |
TidList_t & |
tidList, |
|
|
ExceptionSink * |
xsink |
|
) |
| |
Get list of the thread IDs
◆ isThreadId()
DLLEXPORT bool QoreBreakpoint::isThreadId |
( |
int |
tid, |
|
|
ExceptionSink * |
xsink |
|
) |
| |
Check if thread is ID in list
◆ operator=()
Copy all props but object reference
◆ removeThreadId()
DLLEXPORT void QoreBreakpoint::removeThreadId |
( |
int |
tid, |
|
|
ExceptionSink * |
xsink |
|
) |
| |
Remove thread ID from the list
◆ resolveBreakpointId()
static DLLEXPORT QoreBreakpoint * QoreBreakpoint::resolveBreakpointId |
( |
unsigned |
breakpointId | ) |
|
|
static |
get the breakpoint from breakpoint id
- Parameters
-
- Returns
- the original breakpoint or null if object cannot be resolved
◆ resolveStatementId()
DLLEXPORT AbstractStatement * QoreBreakpoint::resolveStatementId |
( |
unsigned long |
statementId, |
|
|
ExceptionSink * |
xsink |
|
) |
| const |
Resolve statement from statement id
◆ setThreadIds()
DLLEXPORT void QoreBreakpoint::setThreadIds |
( |
TidList_t |
tidList, |
|
|
ExceptionSink * |
xsink |
|
) |
| |
Set list of the thread IDs
◆ unassignStatement()
DLLEXPORT void QoreBreakpoint::unassignStatement |
( |
AbstractStatement * |
statement, |
|
|
ExceptionSink * |
xsink |
|
) |
| |
Unassign breakpoint from statement
◆ policy
BreakpointPolicy QoreBreakpoint::policy |
Defines policy how thread list is evaluated. In the case of ACCEPT policy are considered all TIDs in list. In case of REJECT policy are considered all TIDs not in the list.
The documentation for this class was generated from the following file: