[Dresden-pm] Wie OO-Anwendungen debuggen

Jens Puruckherr jpuruckherr at cyberport.de
Mit Jan 14 03:26:28 CST 2004


Hallo,

bin eben  über den eingebauten Perl-Debugger gestolpert, habe aber
ein kleines Problem:

Eine OO-app. wird über einen Soapserver (SOAP::Lite) gesteuert.
sopaserver.pl:

....
my $daemon =  SOAP::Transport::HTTP::Daemon
      -> new( LocalAddr => 'localhost',LocalPort => 8082)
      ->  dispatch_to('Shop::Interface::(?:setArtikel|setXsell)')
      ->on_action(sub {
        my $action = shift;
        print "Aufruf mit Methode: $action \n";
        } )
      ;
....

In Shop::Interface::setXsell wird  Shop::XMLHelper->new() aufgerufen.
Shop::XMLHelper wird mit use eingebunden, was auch keinen Fehler
macht.
Allerdings findet er die Methode new() nicht:
Can't locate object method "createArtikel" via package
"Shop::XMLHelper" (perhaps you forgot to load "Shop::XMLHelper"?) at
/home/interface/bidi_test/Shop/Interface.pm line 62.
Auch andere Methoden in XMLHelper werden (testweise) nicht gefunden.
@INC habe ich geprüft, das passt.
Wie bewege ich den Debugger nun dazu, auch die Klassen zu debuggen
und nicht nur das initiale Script, welches den Soapserver aufruft? 
Die Klassen haben keinen Interpreter-Aufruf, dort kann ich nirgendwo
den -d Schalter unterbringen. 
any hints?

   Mit freundlichen Grüßen

Jens Puruckherr