debugjs, 在JavaScript中,[Experimental] 轻量级JavaScript虚拟机和步进调试器

分享于 

4分钟阅读

GitHub

  繁體 雙語
[Experimental] Lightweight JavaScript VM and stepping debugger in JavaScript
  • 源代码名称:debugjs
  • 源代码网址:http://www.github.com/amasad/debugjs
  • debugjs源代码文档
  • debugjs源代码下载
  • Git URL:
    git://www.github.com/amasad/debugjs.git
    Git Clone代码到本地:
    git clone http://www.github.com/amasad/debugjs
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/amasad/debugjs
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    debugjs

    JavaScript中的轻量级JavaScript虚拟机和步进调试器。
    演示应用程序
    博客帖子

    安装

    使用 component(1):

    
    $ component install amasad/debugjs
    
    
    
    

    使用 npm

    
    $ npm install amasad/debugjs
    
    
    
    

    或者获取独立库的dist/bundle.js

    API

    debugjs.createDebugger(options )

    创建并返回一个 Debuggeroptions 将被传递给 Machine 构造函数。 options.sandbox 将作为沙箱选项--传递请参见 Machine

    命令行调试器

    new Debugger(machine )

    在所传递的Machine 上创建一个 Debugger

    Debugger#addBreakpoints ( 文件名,linenos )

    文件名的filename 字符串。 要添加断点的linenumbers的liennos array。

    Debugger#removeBreakpoint ( 文件名,linenos )

    文件名的filename 字符串。 要删除断点的linenumbers的liennos array。

    Debugger#getBreakpoints ( 文件名)

    获取文件 filename 上断点的array。

    Debugger#getCallStack ( 选项)

    获取一个净化的调用堆栈,除了堆栈帧之外。 传入 { raw: true } 获取元调用堆栈信息。

    Debugger#run ( )

    运行代码直到遇到断点。

    Debugger#stepOver ( )

    单步执行指令。

    Debugger#stepIn ( )

    函数调用的步骤。

    Debugger#stepOut ( )

    函数调用中的步骤。

    Debugger#load ( 代码,文件名)

    将代码文件加载到计算机中。

    Debugger#paused ( )

    如果计算机暂停,则为布尔值。

    Debugger#halted ( )

    如果机器停止,则为布尔值。

    Debugger#getCurrentStackFrame ( )

    当前stsack帧。

    机器

    new Machine(sandbox, options )

    包含要复制到上下文中的引用的sandbox 对象。 options:

    • iframeParentElement将上下文iframe附加到父元素

    Machine#evaluate ( 代码,文件名)

    code 编译为文件 filename 并准备运行它。

    Machine#step ( )

    通过 evaluate 代码的步骤。

    Machine#run ( )

    连续调用 step 直到计算机为 halted

    Machine#pause ( )

    不会让 run() 再做任何步骤了。

    Machine#resume ( )

    run() 可以继续运行。

    Machine#getCallStack ( )

    获取调用堆栈。注意,这将包括元调用堆栈信息,如 thunks 等等 see有关如何过滤非堆栈帧信息的Debugger#getCallStack

    Machine#getCurrentStackFrame ( )

    获取当前堆栈帧

    Machine#getState ( )

    返回对象的最新步骤信息( 是否已经暂停以及所产生的内容)。

    Machine#getCurrentLoc ( )

    计算机运行的最新指令的行和列。

    Machine#paused

    确定是使用显式高度还是测量高度的一种简便方法。 查看 pause()

    Machine#halted

    布尔说明机器是否有运行的指令,并且处于空闲状态。

    许可证

    AAL请参见许可协议


    JAVA  Javascript  EXP  Light  DEB  debug