Google chrome Chrome调试器无法处理本地文件

Google chrome Chrome调试器无法处理本地文件,google-chrome,google-chrome-devtools,javascript-debugger,Google Chrome,Google Chrome Devtools,Javascript Debugger,我试图在本地调试一些Javascript,但遇到了一个奇怪的问题。如果我打开一个本地文件,如: <html> <head> <script src="file.js"></script> </head> <body></body> </html> 它无法在调试行上暂停。然而,如果我在Firefox/Firebug中打开完全相同的文件,它会在这一行暂停。此外,如

我试图在本地调试一些Javascript,但遇到了一个奇怪的问题。如果我打开一个本地文件,如:

<html>
    <head>
        <script src="file.js"></script>
    </head>
    <body></body>
</html>
它无法在调试行上暂停。然而,如果我在Firefox/Firebug中打开完全相同的文件,它会在这一行暂停。此外,如果我将调试器行添加到本地服务器上提供的文件(即
http://
文件而不是
file://
文件),Chrome调试器将按预期暂停

这个问题(据我所知)只在Chrome中显示为本地文件。然而,我已经在谷歌上搜索了很多,我还没有找到Chrome的任何“在本地文件中禁用调试器”选项或类似的选项(我可能意外地启用了)


以前有人见过这个问题吗?如果是的话,你能解决它吗?

因此,问题是我在Chrome上添加了一个标志。默认情况下,Chrome不允许您的本地文件访问其他本地文件,因此我使用命令行标志启用了本地文件加载:

--allow-file-access-from-files
这很管用,只是产生了一个我没有意识到的副作用:当运行本地文件(或者至少是其他本地文件加载的本地文件)时,Chrome显然会“沙盒”它们。不幸的是,Chrome也拒绝调试“沙盒”代码,这意味着我的调试器神秘地失败了

因此,对于任何想要在Chrome中运行本地文件(比如运行基于web的测试框架)的人来说,技巧是首先添加上述标志,然后再添加此标志:

--allow-sandbox-debugging
因此,当您的代码在本地文件中包含
调试器
行时,Chrome仍将触发调试器

--allow-sandbox-debugging