Beispiel #1
0
 /**
  * called at run-time after the script has been included
  */
 public function endInclude()
 {
     if (PDB_DEBUG) {
         pdb_Logger::debug("endInclude:::" . $this->session->currentTopLevelFrame . "parent: " . $this->session->currentTopLevelFrame->parent);
     }
     $this->session->currentFrame = $this->session->currentTopLevelFrame = $this->session->currentTopLevelFrame->parent;
 }
 /**
  * called at run-time for each included file
  * @param string the script name
  * @return string the code
  */
 public function startInclude($scriptName)
 {
     $isDebugger = basename($scriptName) == "PHPDebugger.php";
     if (!$isDebugger) {
         $scriptName = $this->resolveIncludePath($scriptName);
     }
     pdb_Logger::debug("scriptName::{$scriptName}, {$isDebugger}");
     $stepNext = $this->session->currentFrame->stepNext == pdb_JSDebugger::STEP_INTO ? pdb_JSDebugger::STEP_INTO : false;
     $this->session->currentFrame = new pdb_Environment($this->session->currentFrame, $scriptName, $stepNext);
     $this->session->allFrames[] = $this->session->currentFrame;
     if ($isDebugger) {
         // do not debug self
         $code = "<?php ?>";
     } else {
         $code = $this->session->parseCode(realpath($scriptName), file_get_contents($scriptName));
     }
     $this->session->currentTopLevelFrame = $this->session->currentFrame;
     pdb_Logger::debug("include:::" . $code);
     return $code;
     // eval -> pdb_step/MSG_READY or pdb_endInclude/MSG_READY OR FINISH
 }