node-gdb
Version:
Control GDB from node.js
152 lines (151 loc) • 5.44 kB
HTML
<html>
<head>
<meta charset='UTF-8'>
<title>CoffeeScript API Documentation</title>
<script src='../javascript/application.js'></script>
<script src='../javascript/search.js'></script>
<link rel='stylesheet' href='../stylesheets/application.css' type='text/css'>
</head>
<body>
<div id='base' data-path='../'></div>
<div id='header'>
<div id='menu'>
<a href='../extra/README.md.html' title='Node-gdb'>
Node-gdb
</a>
»
<a href='../alphabetical_index.html' title='Index'>
Index
</a>
»
<span class='title'>README.md</span>
</div>
</div>
<div id='content'>
<nav class='toc'>
<p class='title'>
<a class='hide_toc' href='#'>
<strong>Table of Contents</strong>
</a>
<small>
(<a class='float_toc' href='#'>left</a>)
</small>
</p>
</nav>
<div id='filecontents'>
<h1 id="node-gdb">node-gdb</h1><p><a href="https://www.npmjs.com/package/node-gdb"><img src="https://img.shields.io/npm/v/node-gdb.svg" alt="npm"></a>
<a href="https://travis-ci.org/gsmcmullin/node-gdb"><img src="https://travis-ci.org/gsmcmullin/node-gdb.svg?branch=master" alt="Build Status"></a>
<a href="https://david-dm.org/gsmcmullin/node-gdb"><img src="https://david-dm.org/gsmcmullin/node-gdb/status.svg" alt="deps"></a>
<a href="https://david-dm.org/gsmcmullin/node-gdb?type=dev"><img src="https://david-dm.org/gsmcmullin/node-gdb/dev-status.svg" alt="devDeps"></a>
<a href="https://gitter.im/atom-gdb-debugger/Lobby"><img src="https://badges.gitter.im/Join%20Chat.svg" alt="Gitter"></a></p><p>GDB integration for Node.js</p><p>This module provides an interface for controlling GDB from Node.js applications.
It began as part of the <code>atom-gdb-debugger</code> project, but has been split off into
its own package with no atom dependencies.</p><p>This is still very experimental and under construction. If you try it, please
stop by the Gitter channel and let us know what you think.</p><h2 id="public-api">Public API</h2><p>[draft, subject to change]</p><p><code>class GDB</code></p><ul>
<li><code>constructor()</code> - create a new GDB instance</li>
<li><code>onConsoleOutput(cb)</code> - invoke the callback on GDB console output</li>
<li><code>onConnect(cb)</code> - invoke the callback when GDB is running</li>
<li><code>onDisconnect(cb)</code> - invoke the callback when GDB exits</li>
<li><code>connect(command)</code> - start a new GDB child process, returns a <code>Promise</code></li>
<li><code>disconnect()</code> - exit the currently connected GDB child, returns a <code>Promise</code></li>
<li><code>send_cli(cmd)</code> - send a CLI command to GDB, returns a <code>Promise</code></li>
<li><code>destroy()</code> - destory GDB class and free associated resources</li>
<li><code>setFile(file)</code> - set target executable and symbol file, returns a <code>Promise</code></li>
<li><code>setCwd(path)</code> - set working directory for target, returns a <code>Promise</code></li>
<li><code>exec</code> - an <code>ExecState</code> instance</li>
<li><code>breaks</code> - a <code>BreakpointManager</code> instance</li>
<li><code>vars</code> - a <code>VariableManager</code> instance</li>
</ul><p><code>class ExecState</code></p><ul>
<li><code>start()</code></li>
<li><code>continue()</code></li>
<li><code>next()</code></li>
<li><code>step()</code></li>
<li><code>finish()</code></li>
<li><code>interrupt()</code></li>
<li><code>getThreads()</code></li>
<li><code>getFrames([thread])</code></li>
<li><code>getLocals([frame, [thread]])</code></li>
<li><code>selectFrame(frame, [thread])</code></li>
</ul><p><code>class BreakpointManager</code></p><ul>
<li><code>observe(cb)</code> - invoke the callback with each existing and future <code>Breakpoint</code></li>
<li><code>insert(location)</code> - returns a <code>Promise</code> of the new <code>Breakpoint</code></li>
</ul><p><code>class Breakpoint</code></p><ul>
<li><code>onChanged(cb)</code></li>
<li><code>onDeleted(cb)</code></li>
<li><code>remove()</code></li>
</ul>
</div>
</div>
<div id='footer'>
By
<a href='https://github.com/coffeedoc/codo' title='CoffeeScript API documentation generator'>
Codo
</a>
2.1.2
✲
Press H to see the keyboard shortcuts
✲
<a href='http://twitter.com/netzpirat' target='_parent'>@netzpirat</a>
✲
<a href='http://twitter.com/_inossidabile' target='_parent'>@_inossidabile</a>
</div>
<iframe id='search_frame'></iframe>
<div id='fuzzySearch'>
<input type='text'>
<ol></ol>
</div>
<div id='help'>
<p>
Quickly fuzzy find classes, mixins, methods, file:
</p>
<ul>
<li>
<span>T</span>
Open fuzzy finder dialog
</li>
</ul>
<p>
Control the navigation frame:
</p>
<ul>
<li>
<span>L</span>
Toggle list view
</li>
<li>
<span>C</span>
Show class list
</li>
<li>
<span>I</span>
Show mixin list
</li>
<li>
<span>F</span>
Show file list
</li>
<li>
<span>M</span>
Show method list
</li>
<li>
<span>E</span>
Show extras list
</li>
</ul>
<p>
You can focus and blur the search input:
</p>
<ul>
<li>
<span>S</span>
Focus search input
</li>
<li>
<span>Esc</span>
Blur search input
</li>
</ul>
</div>
</body>
</html>