mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
308 lines
5 KiB
HTML
308 lines
5 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
<head>
|
|
<meta content="text/html; charset=ISO-8859-1"
|
|
http-equiv="content-type">
|
|
<title>PDA Debugger Protocol Reference</title>
|
|
</head>
|
|
<body>
|
|
|
|
<h2>PDA Debugger Protocol Reference</h2>
|
|
|
|
<h3>clear</h3>
|
|
Clears any breakpoint set on given line
|
|
<pre>
|
|
C: clear {line}
|
|
R: ok
|
|
</pre>
|
|
|
|
|
|
<h3>data</h3>
|
|
Retrieves data stack information
|
|
<pre>
|
|
C: data {thread_id}
|
|
R: {value 1}|{value 2}|{value 3}|...|
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
</pre>
|
|
|
|
|
|
<h3>drop</h3>
|
|
Returns from the current frame without executing the rest of instructions.
|
|
|
|
<pre>
|
|
If VM running:
|
|
C: drop {thread_id}
|
|
R: ok
|
|
E: resumed {thread_id} drop
|
|
E: suspended {thread_id} drop
|
|
|
|
If VM suspended:
|
|
C: drop {thread_id}
|
|
R: ok
|
|
E: vmresumed drop
|
|
E: vmsuspended {thread_id} drop
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
</pre>
|
|
|
|
|
|
<h3>eval</h3>
|
|
Sets what events cause the execution to stop.
|
|
|
|
<pre>
|
|
C: eval {thread_id} {instruction}%20{parameter}|{instruction}%20{parameter}|...
|
|
R: ok
|
|
E: resumed {thread_id} client
|
|
E: evalresult result
|
|
E: suspended {thread_id} eval
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
error: cannot evaluate while vm is suspended
|
|
error: thread running
|
|
</pre>
|
|
|
|
|
|
<h3>eventstop</h3>
|
|
Sets what events cause the execution to stop.
|
|
|
|
<pre>
|
|
C: eventstop {event_name} {0|1}
|
|
R: ok
|
|
...
|
|
E: suspended event {event_name}
|
|
</pre>
|
|
|
|
|
|
<h3>exit</h3>
|
|
Instructs the debugger to exit.
|
|
|
|
<pre>
|
|
C: exit
|
|
R: ok
|
|
</pre>
|
|
|
|
|
|
<h3>popdata</h3>
|
|
Pops the top value from the data stack
|
|
|
|
<pre>
|
|
C: popdata {thread_id}
|
|
R: ok
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
</pre>
|
|
|
|
|
|
<h3>pushdata</h3>
|
|
Pushes the given value on top of the data stack.
|
|
|
|
<pre>
|
|
C: pushdata {thread_id} {value}
|
|
R: ok
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
</pre>
|
|
|
|
|
|
<h3>resume</h3>
|
|
Resumes the execution of a single thread. Can be issued only if the virtual
|
|
machine is running.
|
|
|
|
<pre>
|
|
C: resume {thread_id}
|
|
R: ok
|
|
E: resumed {thread_id} client
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
error: cannot resume thread when vm is suspended
|
|
error: thread already running
|
|
</pre>
|
|
|
|
|
|
<h3>set</h3>
|
|
Sets a breakpoint at given line
|
|
|
|
<pre>
|
|
Suspend a single thread:
|
|
C: set {line_number} 0
|
|
R: ok
|
|
C: resume {thread_id}
|
|
E: resumed {thread_id} client
|
|
E: suspended {thread_id} breakpoint line_number
|
|
|
|
Suspend the VM:
|
|
C: set {line_number} 1
|
|
R: ok
|
|
C: vmresume
|
|
E: vmresumed client
|
|
E: vmsuspended {thread_id} breakpoint line_number
|
|
</pre>
|
|
|
|
|
|
<h3>setdata</h3>
|
|
Sets a data value in the data stack at the given location
|
|
|
|
<pre>
|
|
C: setdata {thread_id} {index} {value}
|
|
R: ok
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
</pre>
|
|
|
|
|
|
<h3>setvar</h3>
|
|
Sets a variable value
|
|
|
|
<pre>
|
|
C: setvar {thread_id} {frame_number} {variable} {value}
|
|
R: ok
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
</pre>
|
|
|
|
|
|
<h3>stack</h3>
|
|
Retrieves command stack information
|
|
|
|
<pre>
|
|
C: stack {thread_id}
|
|
R: {file}|{line}|{function}|{var_1}|{var_2}|...#{file}|{line}|{function}|{var_1}|{var_2}|...#...
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
</pre>
|
|
|
|
|
|
<h3>step</h3>
|
|
Executes next instruction
|
|
|
|
<pre>
|
|
If VM running:
|
|
C: step {thread_id}
|
|
R: ok
|
|
E: resumed {thread_id} client
|
|
E: suspended {thread_id} step
|
|
|
|
If VM suspended:
|
|
C: step {thread_id}
|
|
R: ok
|
|
E: vmresumed client
|
|
E: vmsuspended {thread_id} step
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
</pre>
|
|
|
|
|
|
<h3>stepreturn</h3>
|
|
Executes instructions until the current subroutine is finished
|
|
|
|
<pre>
|
|
If VM running:
|
|
C: stepreturn {thread_id}
|
|
R: ok
|
|
E: resumed {thread_id} client
|
|
E: suspended {thread_id} step
|
|
|
|
If VM suspended:
|
|
C: stepreturn {thread_id}
|
|
R: ok
|
|
E: vmresumed client
|
|
E: vmsuspended {thread_id} step
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
</pre>
|
|
|
|
|
|
<h3>suspend</h3>
|
|
Suspends execution of a single thread. Can be issued only if the virtual
|
|
machine is running.
|
|
|
|
<pre>
|
|
C: suspend {thread_id}
|
|
R: ok
|
|
E: suspended {thread_id} client
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
error: vm already suspended
|
|
error: thread already suspended
|
|
</pre>
|
|
|
|
<h3>threads</h3>
|
|
Retrieves the list of active threads
|
|
|
|
<pre>
|
|
C: threads
|
|
R: {thread id} {thread id} ...
|
|
</pre>
|
|
|
|
<h3>var</h3>
|
|
Retrieves variable value
|
|
|
|
<pre>
|
|
C: var {thread_id} {frame_number} {variable_name}
|
|
R: {variable_value}
|
|
|
|
Errors:
|
|
error: invalid thread
|
|
error: variable undefined
|
|
</pre>
|
|
|
|
|
|
<h3>watch</h3>
|
|
Sets a watchpoint on a given variable
|
|
|
|
<pre>
|
|
C: watch {function}::{variable_name} {watch_operation}
|
|
R: ok
|
|
C: resume
|
|
R: resumed client
|
|
E: suspended watch {watch_operation} {function}::{variable_name}
|
|
</pre>
|
|
|
|
The <code>watch_operation<code> value can be:
|
|
<ul>
|
|
<li>0 - no watch</li>
|
|
<li>1 - read watch</li>
|
|
<li>2 - write watch</li>
|
|
<li>3 - both, etc.</li>
|
|
</ul>
|
|
|
|
|
|
<h3>vmresume</h3>
|
|
Resumes the execution of the whole virtual machine
|
|
|
|
<pre>
|
|
C: vmresume
|
|
R: ok
|
|
E: vmresumed client
|
|
|
|
Errors:
|
|
error: vm already running
|
|
</pre>
|
|
|
|
<h3>vmsuspend</h3>
|
|
Suspends the execution of the whole virtual machine
|
|
|
|
<pre>
|
|
C: vmsuspend
|
|
R: ok
|
|
E: vmsuspended client
|
|
|
|
Errors:
|
|
error: thread already suspended
|
|
</pre>
|
|
</body>
|
|
|
|
</html>
|