chrome浏览器调试线上文件映射本地文件 通过ReRes让chrome拥有路径映射的autoResponse功能. 前端开发过程中,经常会有需要对远程环境调试的需求.比如,修改线上bug,开发环境不在本地等等.我们需要把远程css文件或者js映射到本地的文件上,通过修改本地文件进行调试和开发.通常我们可以通过以下方法来实现映射: 1.修改host文件——只能把域名映射到IP 2.使用Apache或者nginx搭建反向代理——需要装环境,配置相对繁琐 3.使用Fiddler中的AutoRespn…
有时代码上线了,突然就碰到了坑爹的错误.或者有时看别人家线上的代码,对于一个文件想 fork 下来试试效果又不想把全部文件拉到本地,都可以使用 fiddler 的线上调试功能. 比方说我们打开携程的首页 www.ctrip.com,看到个叫 allsearch.js 的 js 文件,想往里加点代码调试下. 我们先把这个 js 文件下载到本地. 然后打开 fiddler(当然首先得下载安装 fiddler,参考如何用 fiddler 代理调试本地手机页面),浏览器访问 www.ctrip.com,…
大家平时肯定都用过火狐的Firebug或者谷歌的调试工具来调试JS,但遗憾的是我们不能像编辑html,css那样来直接新增或者删除JS代码. 虽然可以通过调试工具的控制台来动态执行JS代码,但有时候却远远不够用. 特别是当产线环境不能随意修改文件情况下,用线上环境来调试本地代码更是迫切的需求. (往往本地测试通过,上线后却是各种bug.) 今天分享一下如何用Fiddler来修改并调试线上的JS代码. 以博客园首页为例子,用我本地的一个js文件来替换它的一个js. 查看首页源码发现一个js,就拿它…
前言 之前调试前端bug都是在开发环境中做完并多次测试没有问题之后发布测试环境,验收合格之后发布生产.但生产环境偏偏会有和开发和测试环境不一致的情况,例如测试环境需要加密,而开发环境先不加密,测试环境传给我们的时间格式和生产环境时间格式不一致,数组对象不一致等导致线上生产报错的bug. 为了更好的在线上环境检测到具体的bug,节省我们在本地把地址改为生产的地址并走多一遍流程测试的麻烦,Chrome浏览器dbug测试就显得尤为重要了. 一.定位js代码并标记dbug 首先F12打开控制台,然后选择…
什么是远程调试,就是在A机器上利用Eclipse单步跟踪调试B机器上的Web应用,当然调试A机器上Web应用也是没有问题的,90%我都是调试本机的Web应用,远程调试的意义我想我不用说了,大家都会想到它的好处,你可以在本地调试非本地测试环境上的应用,这是件多么美妙的事,所以我就不说它的好处了,那么本地调试呢,我喜欢本地调试也采用下面要介绍的方法,为什么不用eclipse,WTP,TomcatPlugin等. 环境:tomcat,Eclipse,做远程调试不需要任何插件.当然可以使用Eclipse…
jhat简介 jhat用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言 这个工具并不是想用于应用系统中而是用于"离线"分析. 把本机的java内存映像导出到heap.dmp中,其中PID为java进程的ID号. jmap -dump:live,format=b,file=heap.dmp PID 导出后的映像文件可以用jhat来进行分析,-J是向java虚拟机传一个参数,如-mx768m是指定虚拟机可用最大的内存为768M…
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css等文件,这些都可以让你任意替换线上进行修改的意思),用线下的文件替换线上的进行修改调试,的确很方便. (一)官方地址 http://www.telerik.com/fiddler (二)下载后的界面,选中“AutoResponder”,然后下面的三项全打钩,如图: (三)在浏览器打开一个线上页面,如太平洋汽车…
在下面的命令框输入“select script”回车来筛选js请求 将HTTP请求重定向到本地的文件,进行web调试.这种调试方式不需要发布到线上再验证,避免了修改不成功.对用户造成影响的风险 左边一栏里是请求的URL,右边是响应的URL 输出可以在console里面看到 window.console.info(bnQ3x(Mc1x.md)); //alert("aaa"); indow.console.warn(bAN7G.encSecKey); https://www.cnblog…
在以往的工作中,线上一有bug,就需要把文件弄到本地来改,但经常会碰见本地环境又和线上不一样,导致调试困难,闭着眼睛改好之后传到线上去看对不对,不对的话又要改,循环往复,要多麻烦就有多麻烦啊. 今天给大家介绍一款前端神器,Fiddler ,它有个功能就是把线上文件映射到本地,通过拦截的方式,你在本地修改的内容实时的反映到线上,线上的环境,本地的文件,这非常方便我们调试,而且也不会给线上带来严重的错误,因为这些操作只对你本机有效哦. 点击下面链接: http://blog.mingsixue.co…
chrome的开发者工具,在source选项卡下,可以看到js的源代码,有一个断点调试功能,就是在js的源代码行号那里点击一下,出现一个箭头,当再次刷新页面并且进行了相应操作时,就会停在断点的地方.我们可以查看相应的变量值,在右侧可以手动改变变量值,进行调试. 这个地方有一个缺点,就是没有办法对代码表达式等进行手动修改,修改完再去运行调试.如果我们在编辑窗口更改了js,他并不能真正的作用于线上代码.你保存了也没有任何效果,你刷新了页面,直接就没有了,没有办法像css的调试那样,可以完全实时修改代…
一.Fiddler在线调试功能和表白神器介绍 ​ 在以往的工作中,线上有bug,就需要把文件弄到本地来改,但经常会碰见本地环境又和线上不一样,导致调试困难,闭着眼睛改好之后传到线上去看对不对,不对的话又要改,循环往复,要多麻烦就有多麻烦啊. 今天给大家介绍一款前端神器,Fiddler ,它有个功能就是把线上文件映射到本地,通过拦截的方式,你在本地修改的内容实时的反映到线上,线上的环境,本地的文件,这非常方便我们调试,而且也不会给线上带来严重的错误,因为这些操作只对你本机有效果. 它还是对女神表白…
如果你有以下痛点,请你查看本文章: 1.我改的代码为什么没有执行到?难道是我没 commit?分支搞错了? 2.遇到问题无法在线上 debug,难道只能通过加日志再重新发布吗? 3.线上遇到某个用户的数据处理有问题,但线上同样无法 debug,线下无法重现! 4.是否有一个全局视角来查看系统的运行状况? 5.有什么办法可以监控到JVM的实时运行状态? 6.怎么快速定位应用的热点,生成火焰图? Arthas-解决以上所有问题 一.快速启动,(我的第一给demo) 1.下载git代码,本地启动app…
1.前言 本文主要介绍在XCode5环境下,如何根据App自己生成的crashlog来调试真机上运行时产生的crash问题. 2. 步骤 (1)构造一段会crash的代码,并放到viewDidLoad里面,如下图所示: 以上代码会在objectAtIndex处因为数组越界而crash (2)在程序中捕获crash,生成crashlog,并保存到程序自己的沙盒中,如果需要分析线上bug,也可以将log文件上传到自己的服务器中. 捕获crash很简单,主要是以下步骤: 在didFinishLaunc…
当碰到一个网站需要不间断运行,但又需要调试该网站的程序错误的时候,该如何办呢?是靠经验一点点猜测,还是直接打印错误信息让其在页面输出? 下面分享一种方法同时满足这两种条件,既方便网站程序错误调试,又不影响网站的正常运行的调试方法.将下面的php语句复制到公共代码顶部即可. //ini_set('error_reporting',E_ALL ^ E_NOTICE);//显示所有除了notice类型的错误信息 ini_set('error_reporting',E_ALL);//显示所有错误信息 i…
前言 在部署线上项目时,相信大家都会遇到一个问题,线上的 Bug 但是在本地不会复现,多么无奈. 此时最常用的就是取到前端传递的数据用接口测试工具测试,比如 POSTMAN,复杂不,难受不? 今天陈某教你一招,让你轻松调试线上的 Bug.文章目录如下: 什么是 JPDA? JPDA(Java Platform Debugger Architecture),即 Java 平台调试体系,具体结构图如下图所示. 其中实现调试功能的主要协议是JDWP协议,在 Java SE 5 以前版本,JVM 端的实…
用途:btrace主要用于线上调试.通过btrace,可在不改动代码的前提下,方便的发现以下问题: 1.定位性能慢的接口服务: 2.实时打印堆栈信息,定位死锁位置: 3.定位占用大量内存空间的代码块: 4.打印处理流程中的入参.出参信息: 注意事项: 一. 不能创建新的对象. 不能创造新的阵列. 不能抛出异常. 不能捕捉异常. 不能让任意实例或静态方法调用-只有public static方法的com.sun.btrace.BTraceUtils 类可以从BTrace程序调用. 不能分配到目标程序…
写在前边 有没有这样一种感受,自己写的代码在开发.测试环境跑的稳得一笔,可一到线上就抽风,不是缺这个就是少那个反正就是一顿报错,线上调试代码又很麻烦,让人头疼得很.阿里巴巴出了一款名叫Arthas的工具,可以在线分析诊断Java代码,着实让人眼前一亮. 一.Arthas 是什么? Arthas(阿尔萨斯) 是阿里开源的一个Java在线分析诊断工具 二.Arthas 能解决啥问题? 在日常开发上线过程中,我们多多少少都会遇到下边这些问题,苦于无法在线调试,只能通过老鸟的经验来硬分析bug,效率上不…
目录 一.Linux 内存和cpu 网络 磁盘 /proc文件系统 二.JVM Java堆和垃圾收集器 gc日志分析 JVMTI介绍 Attach机制 java自带工具 三.三方工具 jprofile arthas (类似btrace的工具) gceasy 四.实际案例 连接泄漏 String拼接导致内存溢出 堆内存占用过大 CPU占用高问题 aerospike线程阻塞导致内存溢出问题 问题 整体思路:全局观,先从系统层面入手,大致定位方向(内存,cpu,磁盘,网络),然后再去分析具体的进程.…
前言 当你兴冲冲地开始运行自己的Java项目时,你是否遇到过如下问题: 程序在稳定运行了,可是实现的功能点了没反应. 为了修复Bug而上线的新版本,上线后发现Bug依然在,却想不通哪里有问题? 想到可能出现问题的地方,却发现那里没打日志,没法在运行中看到问题,只能加了日志输出重新打包--部署--上线 程序功能正常了,可是为啥响应时间这么慢,在哪里出现了问题? 程序不但稳定运行,而且功能完美,但跑了几天或者几周过后,发现响应速度变慢了,是不是内存泄漏了? 以前,你碰到这些问题,解决的办法大多是,修…
前言 MySQL 死锁异常是我们经常会遇到的线上异常类别,一旦线上业务日间复杂,各种业务操作之间往往会产生锁冲突,有些会导致死锁异常.这种死锁异常一般要在特定时间特定数据和特定业务操作才会复现,并且分析解决时还需要了解 MySQL 锁冲突相关知识,所以一般遇到这些偶尔出现的死锁异常,往往一时没有头绪,不好处理. 本篇文章会讲解一下如果线上发生了死锁异常,如何去排查和处理.除了系列前文讲解的有关加锁和锁冲突的原理还,还需要对 MySQl 死锁日志和 binlog 日志进行分析. 正文 **日常工作…
概述 背景 是不是在实际开发工作当中经常碰到自己写的代码在开发.测试环境行云流水稳得一笔,可一到线上就经常不是缺这个就是少那个反正就是一顿报错抽风似的,线上调试代码又很麻烦,让人头疼得抓狂:而且debug不一定是最高效的方法,遇到线上问题不能debug了怎么办.原先我们Java中我们常用分析问题一般是使用JDK自带或第三方的分析工具如jstat.jmap.jstack. jconsole.visualvm.Java Mission Control.MAT等.但此刻的你没有看错,还有一款神器Art…
新用户购买<Electron + Vue 3 桌面应用开发>,加小册专属微信群,参与群抽奖,送<深入浅出Electron>.<Electron实战>作者签名版. 1等奖:<深入浅出Electron>+<Electron实战> 2等奖:<深入浅出Electron> 3等奖:<Electron实战> 抽奖活动是掘金组织的,仅限近几日加入微信群的新成员(目前人还不多),我负责抽奖.邮寄,2022年11月20日开始抽奖.凡参与抽奖…
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里:  SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899 Linux系统 在catalina.sh里:  CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compile…
转自:http://blog.csdn.net/sunyujia/article/details/2614614 今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,  我的朋友们普通反应看完后觉得不知所云,可能是我写的太简单,下面步入正题.        什么是远程调试,就是在A机器上利用Eclipse单步跟踪调试B机器上的Web应用,当然调试A机器上Web应用也是没有问题的,90%我都是调试本机的Web应用,远…
今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,http://blog.csdn.net/sunyujia/archive/2008/03/23/2211109.aspx 我的朋友们普通反应看完后觉得不知所云,可能是我写的太简单,下面步入正题.        什么是远程调试,就是在A机器上利用Eclipse单步跟踪调试B机器上的Web应用,当然调试A机器上Web应用也是没有问题的,90%我都是调试本机的Web应…
原博链接:http://blog.csdn.net/sunyujia/article/details/2614614   今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,http://blog.csdn.net/sunyujia/archive/2008/03/23/2211109.aspx 我的朋友们普通反应看完后觉得不知所云,可能是我写的太简单,下面步入正题.        什么是远程调试,就是在A机器上利…
做开发好多年了,Debug大家肯定都不陌生,绝对称得上是家常便饭了.博主虽不敢妄下断言,但是这里也猜一下,肯定有很多人都没有使用过Remote Debug(远程调试).说来惭愧,博主也是工作了3年才用上这么个玩意,今天又使用到,所以整理个帖子分享一下. 何谓远程调试,就是我们把打包后的代码部署到服务器上之后,使用本地开发环境连接到服务器部署环境,以这样的方式调试. 在实际开发中,并不是所有问题都能在本地发现.一旦我们遇到服务器上出现的BUG又很难排查的时候,使用远程调试,就可能帮助我们尽快的排查…
作者:张华  发表于:2014-01-17版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 ) 1, 对于要远程调试的WSGI web应用中,添加如下代码,其中172.16.1.122是指远程安装eclipse机器的ip地址.import pydevdpydevd.settrace('172.16.1.122', 1234, stdoutToServer=False, stderrToServer=…
原文地址:eclipse的远程调试功能配置作者:我的 用途:web应用部署并运行于外部(区别于eclipse环境中启动的)应用服务器中,当出现问题时,可以使用eclipse工程的源代码进行跟踪调试. 这样就不需要任何插件(MyEclipse等)就可以实现跟踪调试了! Tomcat 1.修改catalina.bat(5.0以上版本需要修改catalina.50.bat)goto setArgs :doneSetArgs rem 以下为增加的代码,端口为8000 SET CATALINA_OPTS=…
来源于xuwanbest的博客   所谓"工欲善其事,必先利其器",好的工具确能起到事半工倍的作用.我用到的最多的就两个JConsole 和JProfiler .JConsole监控系统内存变化情况,如果有内存溢出的话,垃圾回收将会呈现锯齿状.发现问题以后,使用JProfiler,在小压力(或无压力)的情况下监控对象变化,定位内存溢出原因.   JProfiler是一款Java的性能监控工具.可以查看当前应用的对象.对象引用.内存.CPU使用情况.线程.线程运行情况(阻塞.等待等),同…