Created
January 27, 2017 02:24
-
-
Save misterdjules/6eaf61eefce0f33b8b0fb1f2a2e08e79 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ➜ node-dtrace-provider-issue-90 ls | |
| aside-gc.js dtrace-gc.js node_modules package.json | |
| ➜ node-dtrace-provider-issue-90 ls -l node_modules | |
| total 8 | |
| lrwxr-xr-x 1 JulienGilli staff 58 Jan 26 18:15 dtrace-provider -> ../../../../.nvm/v0.10.40/lib/node_modules/dtrace-provider | |
| ➜ node-dtrace-provider-issue-90 ls node_modules/dtrace-provider/build | |
| DTraceProviderBindings.target.mk Makefile config.gypi libusdt.target.mk | |
| Debug binding.Makefile gyp-mac-tool | |
| ➜ node-dtrace-provider-issue-90 cat aside-gc.js | |
| var dtrace = require('./dtrace-gc'); | |
| var a = []; | |
| for (var j = 0; j < 500; j++) { | |
| dtrace.foo(j); | |
| } | |
| global.gc(); | |
| setInterval(function () { | |
| for (var i = 0; i < 1000000; i++) { | |
| a.push({ n: i, c: i * 2 }); | |
| } | |
| global.gc(); | |
| a.shift(); | |
| console.log('round done'); | |
| }, 1000);% ➜ node-dtrace-provider-issue-90 cat dtrace-gc.js | |
| var d = require('dtrace-provider'); | |
| console.log('d:', d); | |
| function foo(n) { | |
| var dtp = d.createDTraceProvider('gctest'); | |
| var p1 = dtp.addProbe('probe' + n, 'int', 'int'); | |
| dtp.enable(); | |
| } | |
| module.exports = { foo: foo }; | |
| ➜ node-dtrace-provider-issue-90 node -p 'process.versions' | |
| { http_parser: '1.0', | |
| node: '0.10.40', | |
| v8: '3.14.5.9', | |
| ares: '1.9.0-DEV', | |
| uv: '0.10.36', | |
| zlib: '1.2.8', | |
| modules: '11', | |
| openssl: '1.0.1p' } | |
| ➜ node-dtrace-provider-issue-90 lldb node | |
| (lldb) target create "node" | |
| Current executable set to 'node' (x86_64). | |
| (lldb) b DTraceProvider::~DTraceProvider Breakpoint 1: no locations (pending). | |
| WARNING: Unable to resolve breakpoint to any actual locations. | |
| (lldb) b DTraceProbe::~DTraceProbe Breakpoint 2: no locations (pending). | |
| WARNING: Unable to resolve breakpoint to any actual locations. | |
| (lldb) r aside-gc.js | |
| Process 19328 launched: '/Users/JulienGilli/.nvm/v0.10.40/bin/node' (x86_64) | |
| { [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' } | |
| { [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' } | |
| 3 locations added to breakpoint 1 | |
| 3 locations added to breakpoint 2 | |
| d: { DTraceProvider: [Function: DTraceProvider], | |
| createDTraceProvider: [Function] } | |
| Process 19328 stopped | |
| * thread #1: tid = 0xed9bd, 0x0000000100f88ed0 DTraceProviderBindings.node`node::DTraceProvider::~DTraceProvider(this=0x0000000100d010c0) + 16 at dtrace_provider.cc:14, queue = 'com.apple.main-thread', stop reason = breakpoint 1.3 | |
| frame #0: 0x0000000100f88ed0 DTraceProviderBindings.node`node::DTraceProvider::~DTraceProvider(this=0x0000000100d010c0) + 16 at dtrace_provider.cc:14 | |
| 11 provider = NULL; | |
| 12 } | |
| 13 | |
| -> 14 DTraceProvider::~DTraceProvider() { | |
| 15 usdt_provider_disable(provider); | |
| 16 usdt_provider_free(provider); | |
| 17 } | |
| (lldb) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment