Fixed twolevel nested debugging

This commit is contained in:
Jindra Petřík
2024-08-05 09:58:19 +02:00
parent 3f9e66c208
commit d505eeee6a
20 changed files with 176 additions and 103 deletions

Binary file not shown.

View File

@@ -16,7 +16,7 @@
</define>
<define append="true">
<name>CONFIG::timeStamp</name>
<value>'04.08.2024'</value>
<value>'05.08.2024'</value>
</define>
<define append="true">
<name>CONFIG::air</name>
@@ -32,12 +32,12 @@
</define>
<verbose-stacktraces>true</verbose-stacktraces>
<source-path append="true">
<path-element>C:\FlashRelated\test_debugger\inner_debug\inner\src</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\inner\src</path-element>
<path-element>C:\Program Files (x86)\FlashDevelop\Library\AS3\classes</path-element>
</source-path>
</compiler>
<file-specs>
<path-element>C:\FlashRelated\test_debugger\inner_debug\inner\src\InnerMain.as</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\inner\src\InnerMain.as</path-element>
</file-specs>
<default-background-color>#FFFFFF</default-background-color>
<default-frame-rate>30</default-frame-rate>

View File

@@ -16,7 +16,7 @@
</define>
<define append="true">
<name>CONFIG::timeStamp</name>
<value>'04.08.2024'</value>
<value>'05.08.2024'</value>
</define>
<define append="true">
<name>CONFIG::air</name>
@@ -32,12 +32,12 @@
</define>
<verbose-stacktraces>true</verbose-stacktraces>
<source-path append="true">
<path-element>C:\FlashRelated\test_debugger\inner_debug\inner\src</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\inner\src</path-element>
<path-element>C:\Program Files (x86)\FlashDevelop\Library\AS3\classes</path-element>
</source-path>
</compiler>
<file-specs>
<path-element>C:\FlashRelated\test_debugger\inner_debug\inner\src\InnerMain.as</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\inner\src\InnerMain.as</path-element>
</file-specs>
<default-background-color>#FFFFFF</default-background-color>
<default-frame-rate>30</default-frame-rate>

View File

@@ -2,6 +2,8 @@ package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFormat;
public class InnerMain extends Sprite
{
@@ -13,10 +15,24 @@ package
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
var textField:TextField = new TextField();
textField.text = "Main inner1.";
var textFormat:TextFormat = new TextFormat();
textFormat.size = 24;
textFormat.color = 0x000000;
textField.setTextFormat(textFormat);
textField.width = 200;
addChild(textField);
textField.x = 50;
textField.y = 125;
}
}

View File

@@ -43,14 +43,17 @@ package
var byteArray:ByteArray = new binaryData2Class() as ByteArray;
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
//trace("loading innerSwf 2");
loader.loadBytes(byteArray);
}
private function onLoaderComplete(event:Event):void {
var loaderInfo:LoaderInfo = event.target as LoaderInfo;
var className:String = "MyInnerClass2";
//trace("getting definition of " + className);
var LoadedClass:Class = loaderInfo.applicationDomain.getDefinition(className) as Class;
var instance:* = new LoadedClass();
//trace("calling innerSwf 2 instance");
instance.run(root);
}

Binary file not shown.

View File

@@ -4,7 +4,7 @@
<output>
<movie outputType="Application" />
<movie input="" />
<movie path="../inner2.swf" />
<movie path="..\inner2.swf" />
<movie fps="30" />
<movie width="800" />
<movie height="600" />
@@ -72,7 +72,7 @@
</library>
<!-- Class files to compile (other referenced classes will automatically be included) -->
<compileTargets>
<compile path="src\Main.as" />
<compile path="src\InnerMain2.as" />
</compileTargets>
<!-- Paths to exclude from the Project Explorer tree -->
<hiddenPaths>

View File

@@ -16,7 +16,7 @@
</define>
<define append="true">
<name>CONFIG::timeStamp</name>
<value>'04.08.2024'</value>
<value>'05.08.2024'</value>
</define>
<define append="true">
<name>CONFIG::air</name>
@@ -32,12 +32,12 @@
</define>
<verbose-stacktraces>true</verbose-stacktraces>
<source-path append="true">
<path-element>C:\FlashRelated\test_debugger\inner_debug\inner2\src</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\inner2\src</path-element>
<path-element>C:\Program Files (x86)\FlashDevelop\Library\AS3\classes</path-element>
</source-path>
</compiler>
<file-specs>
<path-element>C:\FlashRelated\test_debugger\inner_debug\inner2\src\Main.as</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\inner2\src\InnerMain2.as</path-element>
</file-specs>
<default-background-color>#FFFFFF</default-background-color>
<default-frame-rate>30</default-frame-rate>

View File

@@ -16,7 +16,7 @@
</define>
<define append="true">
<name>CONFIG::timeStamp</name>
<value>'04.08.2024'</value>
<value>'05.08.2024'</value>
</define>
<define append="true">
<name>CONFIG::air</name>
@@ -32,12 +32,12 @@
</define>
<verbose-stacktraces>true</verbose-stacktraces>
<source-path append="true">
<path-element>C:\FlashRelated\test_debugger\inner_debug\inner2\src</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\inner2\src</path-element>
<path-element>C:\Program Files (x86)\FlashDevelop\Library\AS3\classes</path-element>
</source-path>
</compiler>
<file-specs>
<path-element>C:\FlashRelated\test_debugger\inner_debug\inner2\src\Main.as</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\inner2\src\InnerMain2.as</path-element>
</file-specs>
<default-background-color>#FFFFFF</default-background-color>
<default-frame-rate>30</default-frame-rate>

View File

@@ -0,0 +1,40 @@
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFormat;
public class InnerMain2 extends Sprite
{
MyInnerClass2;
public function InnerMain2()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
var textField:TextField = new TextField();
textField.text = "Main inner2.";
var textFormat:TextFormat = new TextFormat();
textFormat.size = 24;
textFormat.color = 0x000000;
textField.setTextFormat(textFormat);
textField.width = 200;
addChild(textField);
textField.x = 50;
textField.y = 100;
}
}
}

View File

@@ -1,24 +0,0 @@
package
{
import flash.display.Sprite;
import flash.events.Event;
public class Main extends Sprite
{
MyInnerClass2;
public function Main()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
}
}
}

Binary file not shown.

View File

@@ -16,7 +16,7 @@
</define>
<define append="true">
<name>CONFIG::timeStamp</name>
<value>'04.08.2024'</value>
<value>'05.08.2024'</value>
</define>
<define append="true">
<name>CONFIG::air</name>
@@ -32,12 +32,12 @@
</define>
<verbose-stacktraces>true</verbose-stacktraces>
<source-path append="true">
<path-element>C:\FlashRelated\test_debugger\inner_debug\outer\src</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\outer\src</path-element>
<path-element>C:\Program Files (x86)\FlashDevelop\Library\AS3\classes</path-element>
</source-path>
</compiler>
<file-specs>
<path-element>C:\FlashRelated\test_debugger\inner_debug\outer\src\Main.as</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\outer\src\Main.as</path-element>
</file-specs>
<default-background-color>#FFFFFF</default-background-color>
<default-frame-rate>30</default-frame-rate>

View File

@@ -16,7 +16,7 @@
</define>
<define append="true">
<name>CONFIG::timeStamp</name>
<value>'04.08.2024'</value>
<value>'05.08.2024'</value>
</define>
<define append="true">
<name>CONFIG::air</name>
@@ -32,12 +32,12 @@
</define>
<verbose-stacktraces>true</verbose-stacktraces>
<source-path append="true">
<path-element>C:\FlashRelated\test_debugger\inner_debug\outer\src</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\outer\src</path-element>
<path-element>C:\Program Files (x86)\FlashDevelop\Library\AS3\classes</path-element>
</source-path>
</compiler>
<file-specs>
<path-element>C:\FlashRelated\test_debugger\inner_debug\outer\src\Main.as</path-element>
<path-element>C:\Dropbox\Programovani\JavaSE\FFDec\libsrc\ffdec_lib\testdata\debug_inner\outer\src\Main.as</path-element>
</file-specs>
<default-background-color>#FFFFFF</default-background-color>
<default-frame-rate>30</default-frame-rate>

View File

@@ -28,14 +28,17 @@ package
var byteArray:ByteArray = new binaryDataClass() as ByteArray;
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
//trace("loading innerSwf 1");
loader.loadBytes(byteArray);
}
private function onLoaderComplete(event:Event):void {
var loaderInfo:LoaderInfo = event.target as LoaderInfo;
var className:String = "MyInnerClass";
//trace("getting definition of " + className);
var LoadedClass:Class = loaderInfo.applicationDomain.getDefinition(className) as Class;
var instance:* = new LoadedClass();
//trace("calling innerSwf 1 instance");
instance.run(this);
}