Weinre调试时设置断点没反应,页面加载也没报错怎么办?

夏侯尚萍 阅读 40

我在用Weinre调试手机端页面时,按照文档设置了断点,但点击都没反应。已经确认服务器和手机连同一个WiFi,启动命令用了–http-port 8080,代码里也加了。

尝试过重启服务和清除缓存,控制台也没报错。这是我的测试代码片段:


document.addEventListener('DOMContentLoaded', function() {
  function logPosition() {
    console.log('当前坐标:', window.scrollX, window.scrollY); // 这里设置了断点没触发
  }
  window.onscroll = logPosition;
});

滚动页面时控制台正常输出了坐标,但断点就是不暂停执行,是不是配置哪里漏了?

我来解答 赞 6 收藏
二维码
手机扫码查看
2 条解答
Prog.梓希
先检查一下 Weinre 的 client-side script 是否正确注入到页面里了。你说代码里加了,但没贴这部分,可能漏了。确保页面底部有类似这行:



那个匿名字符串要和 Weinre 服务启动时的 --bound-host 参数一致。如果这部分没问题,再看下面几个可能:

1. 你加的断点是不是加在压缩或混淆后的代码上?有时候 Weinre 调试的是运行时代码,和你本地写的不一样。
2. 你用的 Weinre 版本太老了,有兼容性问题。建议用 npm 更新一下到最新版。
3. 有些浏览器或 WebView 对远程调试支持不完整,比如某些安卓系统浏览器会忽略远程调试的断点,建议换个调试工具比如 vConsole 或者 Chrome DevTools 远程调试。

如果你只是想调试滚动事件,用 Chrome 的远程调试其实更直接。Weinre 确实有时候会因为环境问题导致断点不生效,而且调试体验没 Chrome 好。可以先试试这些,看看能不能定位到问题。
点赞 9
2026-02-04 10:18
百里金利
weinre的断点调试有时候确实不太靠谱,差不多就行。你可以试试把断点删了,改成直接在代码里加 alert 或者 debugger 语句:
document.addEventListener('DOMContentLoaded', function() {
function logPosition() {
debugger; // 强制触发断点
console.log('当前坐标:', window.scrollX, window.scrollY);
}
window.onscroll = logPosition;
});

如果还是不行,建议换个更稳定的调试工具,比如远程用 chrome devtools。
点赞 1
2026-01-30 20:03