blob: 9e2b92749f4a6c12d5c08b5e13ac00ef69c57603 [file] [log] [blame]
<!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
R: {value 1}|{value 2}|{value 3}|...|
</pre>
<h3>drop</h3>
Returns from the current frame without executing the rest of instructions.
<pre>
C: drop
R: ok
E: resumed drop
E: suspended drop
</pre>
<h3>eval</h3>
Sets what events cause the execution to stop.
<pre>
C: eval {instruction}%20{parameter}|{instruction}%20{parameter}|...
R: ok
E: resume client
E: evalresult result
E: suspended eval
</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
R: ok
</pre>
<h3>pushdata</h3>
Pushes the given value on top of the data stack.
<pre>
C: pushdata {value}
R: ok
</pre>
<h3>resume</h3>
Resumes the execution
<pre>
C: resume
R: ok
E: resumed client
</pre>
<h3>set</h3>
Sets a breakpoint at given line
<pre>
C: set {line_number}
R: ok
C: resume
E: resumed client
E: suspended breakpoint line_number
</pre>
<h3>setdata</h3>
Sets a data value in the data stack at the given location
<pre>
C: setdata {index} {value}
R: ok
</pre>
<h3>setvar</h3>
Sets a variable value
<pre>
C: setvar {frame_number} {variable} {value}
R: ok
</pre>
<h3>stack</h3>
Retrieves command stack information
<pre>
C: stack
R: {file}|{line}|{function}|{var_1}|{var_2}|...{file}|{line}|{function}|{var_1}|{var_2}|......
</pre>
<h3>step</h3>
Executes next instruction
<pre>
C: step
R: ok
E: resumed step
E: suspended step
</pre>
<h3>stepreturn</h3>
Executes instructions until the current subroutine is finished
<pre>
C: stepreturn
R: ok
E: resumed step
E: suspended step
</pre>
<h3>suspend</h3>
Suspends execution
<pre>
C: suspend
R: ok
E: suspended client
</pre>
<h3>var</h3>
Retrieves variable value
<pre>
C: var {frame_number} {variable_name}
R: {variable_value}
</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>
</body>
</html>