📄 swfdecasdebugger.xml
字号:
<?xml version="1.0"?><!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"><refentry id="SwfdecAsDebugger"><refmeta><refentrytitle role="top_of_page">SwfdecAsDebugger</refentrytitle><manvolnum>3</manvolnum><refmiscinfo>SWFDEC Library</refmiscinfo></refmeta><refnamediv><refname>SwfdecAsDebugger</refname><refpurpose>the debugger object<parameter>see</parameter> also: SwfdecAsContext</refpurpose><!--[<xref linkend="desc" endterm="desc.title"/>]--></refnamediv><refsynopsisdiv role="synopsis"><title role="synopsis.title">Synopsis</title><synopsis> <link linkend="SwfdecAsDebugger-struct">SwfdecAsDebugger</link>; <link linkend="SwfdecAsDebuggerClass">SwfdecAsDebuggerClass</link>; <link linkend="SwfdecScript">SwfdecScript</link>;</synopsis></refsynopsisdiv><refsect1 role="object_hierarchy"><title role="object_hierarchy.title">Object Hierarchy</title><synopsis> <link linkend="GObject">GObject</link> +----SwfdecAsDebugger</synopsis></refsect1><refsect1 role="desc"><title role="desc.title">Description</title><para>The debugger object is a special object that can be set on a <link linkend="SwfdecAsContext"><type>SwfdecAsContext</type></link>upon creation. If that is done, the debugger can then be used to inspect the running Actionscript application.</para><para></para></refsect1><refsect1 role="details"><title role="details.title">Details</title><refsect2><title><anchor id="SwfdecAsDebugger-struct" role="struct"/>SwfdecAsDebugger</title><indexterm><primary>SwfdecAsDebugger</primary></indexterm><programlisting>typedef struct _SwfdecAsDebugger SwfdecAsDebugger;</programlisting><para>This is the type of the debugger object.</para><para></para></refsect2><refsect2><title><anchor id="SwfdecAsDebuggerClass" role="struct"/>SwfdecAsDebuggerClass</title><indexterm><primary>SwfdecAsDebuggerClass</primary></indexterm><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;</programlisting><para>The class object for the debugger. You need to override these functions to get useful functionality for the debugger.</para><para></para><variablelist role="struct"><varlistentry><term><structfield>add</structfield> ()</term><listitem><simpara> Called whenever an object is added to the garbage collection engine using <link linkend="swfdec-as-object-add"><function>swfdec_as_object_add()</function></link></simpara></listitem></varlistentry><varlistentry><term><structfield>remove</structfield> ()</term><listitem><simpara> Called whenever an object is about to be collected by the garbage collector.</simpara></listitem></varlistentry><varlistentry><term><structfield>step</structfield> ()</term><listitem><simpara> 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.</simpara></listitem></varlistentry><varlistentry><term><structfield>enter_frame</structfield> ()</term><listitem><simpara> Called after a new <link linkend="SwfdecAsFrame"><type>SwfdecAsFrame</type></link> has been initialized and pushed to the top of the execution stack.</simpara></listitem></varlistentry><varlistentry><term><structfield>leave_frame</structfield> ()</term><listitem><simpara> Called just after a <link linkend="SwfdecAsFrame"><type>SwfdecAsFrame</type></link> has been removed from the execution stack. The return value has not been forwarded to the parent when this function is called.</simpara></listitem></varlistentry><varlistentry><term><structfield>set_variable</structfield> ()</term><listitem><simpara> Called whenever <link linkend="swfdec-as-object-set-variable"><function>swfdec_as_object_set_variable()</function></link> 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. </simpara></listitem></varlistentry></variablelist></refsect2><refsect2><title><anchor id="SwfdecScript" role="struct"/>SwfdecScript</title><indexterm><primary>SwfdecScript</primary></indexterm><programlisting>typedef struct _SwfdecScript SwfdecScript;</programlisting><para>This is the object used for code to be executed by Swfdec. Scripts are independant from the <link linkend="SwfdecAsContext"><type>SwfdecAsContext</type></link> they are executed in, so you can execute the same script in multiple contexts.</para><para></para></refsect2></refsect1><refsect1><refsect2 /><refsect2 /></refsect1></refentry>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -