Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取当前函数';V8中的名称或行号_Javascript_Function_V8_Line Numbers - Fatal编程技术网

Javascript 如何获取当前函数';V8中的名称或行号

Javascript 如何获取当前函数';V8中的名称或行号,javascript,function,v8,line-numbers,Javascript,Function,V8,Line Numbers,我想动态地钩住V8中当前正在执行的函数的信息 例如函数名、行号或文件名等 当页面或应用程序在其中运行时,V8是否可以设置一些断点来获取此信息 例如: 函数f1(){ ... f2(); ... } 函数f2(){ ... } f1(); 您可以使用new Error().堆栈,然后解析输出 (function() { var b = function() { var trace = new Error().stack.split("\n")[1]; c

我想动态地钩住V8中当前正在执行的函数的信息

例如函数名、行号或文件名等

当页面或应用程序在其中运行时,V8是否可以设置一些断点来获取此信息

例如:

您可以使用new Error().堆栈,然后解析输出

(function() {
    var b = function() {
        var trace = new Error().stack.split("\n")[1];
        console.log(trace);
    };

    var a = function() {
        b();
    };

    a();
})();
输出:

at b (file:///home/inonit/tmp/stack.html:6:16)

如果愿意,您可以从中提取文件名、函数名、行号和列号。

内容对齐谢谢您的回答。但我想知道是否有可能在V8中设置一些断点来获取这些信息,而不是在脚本中添加“new Error().stack”?不清楚“V8中的断点”是什么意思。您何时需要这些信息?我在使用GDB动态调试web应用程序时需要这些信息。我想知道V8是否可以在某个地方设置断点,以便在应用程序运行时获取此信息。如果您使用的是GDB,并且您已经在那里了,我想您可以了解
stack
属性是如何工作的,然后了解如何检索信息。但是不,很不幸,我不知道你问题的答案。