在Chrome中调试带有逗号的小型JavaScript函数 出身背景

在Chrome中调试带有逗号的小型JavaScript函数 出身背景,javascript,google-chrome,debugging,Javascript,Google Chrome,Debugging,我试图调试的生产环境中有一个问题。我无法放入debugger或console.log语句,因为该问题仅在生产环境中发生。我可以在Chrome中查看经过修饰的代码 源与缩小 当我看源代码时,它看起来是这样的: functionWhatever = function (text, copy) { var range; if (document.selection) { range = document.body.createTextRange(); r

我试图调试的生产环境中有一个问题。我无法放入
debugger
console.log
语句,因为该问题仅在生产环境中发生。我可以在Chrome中查看经过修饰的代码

源与缩小 当我看源代码时,它看起来是这样的:

functionWhatever = function (text, copy) {
    var range;
    if (document.selection) {
        range = document.body.createTextRange();
        range.moveToElementText(clipboardtext);
        range.select();
    } else if (window.getSelection) {
        range = document.createRange();
        range.selectNodeContents(clipboardtext);
        window.getSelection().removeAllRanges();
        window.getSelection().addRange(range);
...
},
u = function(e, t) {
    var n;
    document.selection ? (n = document.body.createTextRange(),
    n.moveToElementText(e),
    n.select()) : window.getSelection && (n = document.createRange(),
    n.selectNodeContents(e),
    window.getSelection().removeAllRanges(),
    window.getSelection().addRange(n)),
    ...
},
但在Chrome的开发工具中,经过修饰的代码如下所示:

functionWhatever = function (text, copy) {
    var range;
    if (document.selection) {
        range = document.body.createTextRange();
        range.moveToElementText(clipboardtext);
        range.select();
    } else if (window.getSelection) {
        range = document.createRange();
        range.selectNodeContents(clipboardtext);
        window.getSelection().removeAllRanges();
        window.getSelection().addRange(range);
...
},
u = function(e, t) {
    var n;
    document.selection ? (n = document.body.createTextRange(),
    n.moveToElementText(e),
    n.select()) : window.getSelection && (n = document.createRange(),
    n.selectNodeContents(e),
    window.getSelection().removeAllRanges(),
    window.getSelection().addRange(n)),
    ...
},
问题 我无法在最小化代码中以逗号结尾的一行上设置断点。我如何(或是否有办法)调试这些行中的一行?

您可以使用它在生产环境中调试JS文件

遵循以下步骤
  • 按请求安装扩展名()
  • 转到请求库()
  • 上载与生产中的文件具有相同代码的缩小/非缩小文件。您将获得上传文件的url
  • 转到规则页()
  • 设置重定向规则并将生产url重定向到从库中获取的url
  • 这将确保您的文件由浏览器而不是生产环境拾取
现在,您可以对请求上传的文件(调试点、控制台日志)进行更改,所有这些都将由浏览器获取


调试愉快

在Chrome开发工具中有一种本机实现的方法。对于函数链的每个部分,您都可以单步执行。例如,如果你有

a(),b(),c()

如果要调试
c()
调用,可以

  • 介入(F11)
  • 跳出(F11档)
  • 介入
  • 走出去
然后调试器将处于调用
c()
之前的状态(它可能会跳过赋值或非函数的内容)


因此,对于上面的示例,您只需在
var n上放置一个断点行,然后开始执行单步执行,单步执行以到达要调试的代码点,然后使用控制台调试要检查的语句

我为之工作的公司不允许出于专有原因将代码上传到第三方网站。@shakin请求使用Google Drive存储您的文件,以便您的数据随身携带。即使现在您正在使用cdn托管Javascript,如果您使用上述方法,那么您将存储在您的Google驱动器中。