📄 swfdecasdebugger.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>SwfdecAsDebugger</title><meta name="generator" content="DocBook XSL Stylesheets V1.72.0"><link rel="start" href="index.html" title="Swfdec Reference Manual"><link rel="up" href="ch03.html" title="Actionscript interpreter"><link rel="prev" href="swfdec-SwfdecAsFrame.html" title="SwfdecAsFrame"><meta name="generator" content="GTK-Doc V1.9 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="chapter" href="ch01.html" title="Swfdec Gtk library"><link rel="chapter" href="ch02.html" title="Swfdec library"><link rel="chapter" href="ch03.html" title="Actionscript interpreter"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="swfdec-SwfdecAsFrame.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="ch03.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Swfdec Reference Manual</th><td> </td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#id2577484" class="shortcut">Top</a>  |  <a href="#id2619130" class="shortcut">Description</a>  |  <a href="#id2563020" class="shortcut">Object Hierarchy</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="SwfdecAsDebugger"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><a name="id2577484"></a><span class="refentrytitle">SwfdecAsDebugger</span></h2><p>SwfdecAsDebugger — the debugger object<em class="parameter"><code>see</code></em> also: SwfdecAsContext</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis"> <a href="SwfdecAsDebugger.html#SwfdecAsDebugger-struct">SwfdecAsDebugger</a>; <a href="SwfdecAsDebugger.html#SwfdecAsDebuggerClass">SwfdecAsDebuggerClass</a>; <a href="SwfdecAsDebugger.html#SwfdecScript">SwfdecScript</a>;</pre></div><div class="refsect1" lang="en"><a name="id2563020"></a><h2>Object Hierarchy</h2><pre class="synopsis"> GObject +----SwfdecAsDebugger</pre></div><div class="refsect1" lang="en"><a name="id2619130"></a><h2>Description</h2><p>The debugger object is a special object that can be set on a <a href="SwfdecAsContext.html" title="SwfdecAsContext"><span class="type">SwfdecAsContext</span></a>upon creation. If that is done, the debugger can then be used to inspect the running Actionscript application.</p><p></p></div><div class="refsect1" lang="en"><a name="id2625939"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2625949"></a><h3><a name="SwfdecAsDebugger-struct"></a>SwfdecAsDebugger</h3><a class="indexterm" name="id2625961"></a><pre class="programlisting">typedef struct _SwfdecAsDebugger SwfdecAsDebugger;</pre><p>This is the type of the debugger object.</p><p></p></div><hr><div class="refsect2" lang="en"><a name="id2625981"></a><h3><a name="SwfdecAsDebuggerClass"></a>SwfdecAsDebuggerClass</h3><a class="indexterm" name="id2625992"></a><pre class="programlisting">typedef struct { /* a new object was added to the GC */ void (* add) (SwfdecAsDebugger * debugger, SwfdecAsContext * context, SwfdecAsObject * object); /* an object was removed from the GC */ void (* remove) (SwfdecAsDebugger * debugger, SwfdecAsContext * context, SwfdecAsObject * object); /* called before executing a bytecode */ void (* step) (SwfdecAsDebugger * debugger, SwfdecAsContext * context); /* called after adding a frame from the function stack */ void (* enter_frame) (SwfdecAsDebugger * debugger, SwfdecAsContext * context, SwfdecAsFrame * frame); /* called after removing a frame from the function stack */ void (* leave_frame) (SwfdecAsDebugger * debugger, SwfdecAsContext * context, SwfdecAsFrame * frame, const SwfdecAsValue * return_value); /* called before setting a variable */ void (* set_variable)(SwfdecAsDebugger * debugger, SwfdecAsContext * context, SwfdecAsObject * object, const char * variable, const SwfdecAsValue * value);} SwfdecAsDebuggerClass;</pre><p>The class object for the debugger. You need to override these functions to get useful functionality for the debugger.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="structfield"><code>add</code></em> ()</span></td><td> Called whenever an object is added to the garbage collection engine using <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-add"><code class="function">swfdec_as_object_add()</code></a></td></tr><tr><td><span class="term"><em class="structfield"><code>remove</code></em> ()</span></td><td> Called whenever an object is about to be collected by the garbage collector.</td></tr><tr><td><span class="term"><em class="structfield"><code>step</code></em> ()</span></td><td> This function is called everytime just before a bytecode is executed by the script engine. So it's very powerful, but can also slow down the script engine a lot.</td></tr><tr><td><span class="term"><em class="structfield"><code>enter_frame</code></em> ()</span></td><td> Called after a new <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame"><span class="type">SwfdecAsFrame</span></a> has been initialized and pushed to the top of the execution stack.</td></tr><tr><td><span class="term"><em class="structfield"><code>leave_frame</code></em> ()</span></td><td> Called just after a <a href="swfdec-SwfdecAsFrame.html#SwfdecAsFrame"><span class="type">SwfdecAsFrame</span></a> has been removed from the execution stack. The return value has not been forwarded to the parent when this function is called.</td></tr><tr><td><span class="term"><em class="structfield"><code>set_variable</code></em> ()</span></td><td> Called whenever <a href="swfdec-SwfdecAsObject.html#swfdec-as-object-set-variable"><code class="function">swfdec_as_object_set_variable()</code></a> is called, before actually setting the variable. This function is also called when variables are set by internal code, not just when interpreting scripts. It also doesn't matter if setting the variable will succeed. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2624188"></a><h3><a name="SwfdecScript"></a>SwfdecScript</h3><a class="indexterm" name="id2624201"></a><pre class="programlisting">typedef struct _SwfdecScript SwfdecScript;</pre><p>This is the object used for code to be executed by Swfdec. Scripts are independant from the <a href="SwfdecAsContext.html" title="SwfdecAsContext"><span class="type">SwfdecAsContext</span></a> they are executed in, so you can execute the same script in multiple contexts.</p><p></p></div></div><div class="refsect1" lang="en"><a name="id2624231"></a><div class="refsect2" lang="en"><a name="id2624232"></a></div><hr><div class="refsect2" lang="en"><a name="id2624234"></a></div></div></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -